Заредете Kubernetes с тези страхотни инструменти

Тази статия ще ви запознае с някои страхотни инструменти, които могат да бъдат съчетани с Kubernetes, за да му добавят повече мощност.

Когато работите в DevOps екосистема, ще осъзнаете колко е важно да разполагате с невероятни DevOps инструменти, които да облекчат ръчното ви зареждане. Налични са много инструменти за DevOps за всеки етап на DevOps и различни функционалности.

Kubernetes е едно от задължителните неща, ако работите в домейна на DevOps и изпълнявате приложенията си в контейнери. Има стотици инструменти, които работят заедно с Kubernetes за добавяне на повече функции. Говоря за инструменти за по-добро управление, сигурност, табло, мониторинг на Kubernetes клъстера.

Ето списък с такива невероятни инструменти, които добавят повече мощност към вашия Kubernetes.

Да започваме!

Шлем

Шлем е мениджър на пакети за Kubernetes, който улеснява приемането на приложения и услуги, които са силно повтарящи се или се използват в много различни сценарии, което улеснява внедряването им в типичен клъстер на Kubernetes. С помощта на Helm можете да намирате, споделяте и използвате софтуера, създаден за Kubernetes.

Той използва диаграми, наречени Helm Charts, за дефиниране, инсталиране и надграждане на сложни приложения на Kubernetes.

Характеристики на кормилото:

  • Грижи се за цялата сложност на приложенията на Kubernetes с помощта на диаграми
  • Използва надстройки и персонализирани кукички за лесно актуализиране на нещата.
  • Графиките могат лесно да се споделят на публични или частни сървъри.
  • Лесно връщане назад само с една команда
  • Подобрява продуктивността на разработчиците и подобрява оперативната готовност

Flagger

Flagger е оператор на прогресивна доставка за Kubernetes.

Той автоматизира популяризирането на внедрявания на Canary, използвайки Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, Skipper routing за пренасочване на трафика и Prometheus за анализ на Canary. При внедряването на Canary пускате версиите на малка група потребители, тествате я, ако работи добре, пускате версията на всички.

Той използва мрежата на услугата, която работи във вашия клъстер, за да управлява трафика, който преминава между едно внедряване и друго. За пренасочване на трафик към canary, той измерва показатели за ефективност като средна продължителност на заявките, процент на успех на HTTP заявки, здраве на под и т.н.

Flagger може да изпълнява автоматизиран анализ на приложения, промоция и връщане назад за няколко стратегии за внедряване като Canary, A/B тестване, синьо/зелено внедряване.

Kubewatch

Kubewatch е наблюдател на Kubernetes с отворен код, който изпраща известие през отпуснатия канал.

Написан е на Go програмиране и е разработен от Bitnami Labs. Използва се за наблюдение на ресурсите на Kubernetes и уведомява, ако има промяна.

Можете да инсталирате Kubewatch чрез kubectl или като използвате диаграми на кормилото. Той е лесен за разбиране и има много лесен за използване интерфейс. Освен slack, той също поддържа HipChat, Mattermost, Flock, webhook и SMTP.

  Как да преглеждате архивирани съобщения в Messenger

В зависимост от това кой Kubernetes искате да наблюдавате, можете да зададете true или false за тези ресурси във файла ConfigMap. След като зададете конфигурацията на kubewatch и стартирате pod, ще започнете да получавате известия за събитието Kubernetes, както е показано по-долу.

Гиткубе

Гиткубе е инструмент, който използва git push за изграждане и внедряване на докер изображения в Kubernetes. Има три компонента – Remote, gitkube-controller, gitkubed. Remote се състои от персонализирани ресурси, които се управляват от gitkube-controller. gitkube-controller изпраща промените на gitkubed, който след това изгражда докер изображението и го внедрява.

Характеристики на Gitkube:

  • Лесен за инсталиране, включете и пуснете
  • Осигурява ролеви контрол на достъпа за сигурност
  • Лесно удостоверяване с помощта на публичен ключ
  • Поддържа се пространство от имена за мулти-наемане
  • Няма допълнителни зависимости освен kubectl и git

kube-състояние-метрика

kube-състояние-метрика е услуга, която генерира показатели за обект на състояние, като слуша API сървъра на Kubernetes. Използва се за проверка на изправността на различни обекти като възли, подове, пространства от имена и внедрявания. Той ви предоставя сурови, немодифицирани данни от Kubernetes API.

По-долу е информацията, предоставена от kube-state-metrics:

  • Cron задачи и статус на работа
  • Състояние на модулите (готови, работещи и т.н.)
  • Заявки за ресурси и техния обхват
  • Капацитет на възела и неговото състояние
  • Спецификация на комплекти реплики

Камус

Камус е GitOps инструмент с отворен код, който се използва за криптиране и декриптиране на тайни за приложения на Kubernetes. Шифрованите тайни, които Kamus прави, могат да бъдат декриптирани само от приложения, работещи в клъстера Kubernetes. Той използва AES, Google Cloud KMS, Azure KeyVault за криптиране на тайни. Можете да започнете с Kamus, като използвате таблицата на кормилото.

Kamus идва с две помощни програми – Kamus CLI и Kamus init container. Kamus CLI се използва за интегриране с криптиране на API, а Kamus init контейнер се използва за интегриране с декриптиране на API.

Обикновените тайни на Kubernetes не са криптирани; те са base64 кодирани. Не можете да го запазите в Git такъв, какъвто е; не е сигурно. Всеки, който има достъп до репото, ще може да използва тези тайни. Следователно е необходимо подходящо решение за криптиране/декриптиране, като Kamus. Той също така предоставя модел на заплаха, който се грижи за заплахите и прави тайните защитени.

Untrak

Untrak е инструмент с отворен код, използван в Kubernetes за намиране на непроследени ресурси и събирането им на боклук. Помага ви да намерите и изтриете онези файлове от клъстера, които не са проследени.

След като инжектирате манифестите във вашия CI/CD тръбопровод с помощта на kubectl apply или helm шаблон, Kubernetes не знае кога обектът ще бъде изтрит от хранилището. След като обектите бъдат изтрити, те не се проследяват в процеса на доставка и все още се намират в клъстера Kubernetes.

Той изпълнява команда вътрешно, като използва прост конфигурационен файл untrak.yaml, за да открие ресурси, които вече не са част от управлението на вашия изходен код.

  Как да управлявате настройките на акаунта на EA

Обхват

Weave Scope е за визуализиране, наблюдение и отстраняване на проблеми с Docker и Kubernetes.

Той ви показва изглед отгоре надолу на вашето контейнеризирано приложение и пълната инфраструктура, чрез която можете лесно да идентифицирате всички проблеми и да ги диагностицирате.

Изпълнението на приложения с микросервизна архитектура в докер контейнери не е толкова лесно. Компонентите тук са много динамични и трудни за наблюдение. С weave scope можете лесно да отстранявате изтичане на памет и да контролирате консумацията на процесора, да визуализирате тесните места в мрежата.

Характеристики на обхвата:

  • Помага ви да наблюдавате вашите докер контейнери в реално време
  • Осигурява лесна навигация между процесите, изпълнявани в контейнерите
  • Показва използването на процесора и паметта на хост или услуга
  • Рестартирайте, спирайте или поставяйте на пауза контейнери с помощта на CLI, без да напускате прозореца на браузъра на обхвата.
  • Поддържа персонализирани добавки за получаване на повече подробности за контейнери, процеси и хостове

Табло за управление на Kubernetes

Табло за управление на Kubernetes е уеб интерфейс, предоставен от Kubernetes. Използва се за внедряване, отстраняване на неизправности и управление на контейнеризираното приложение в клъстер на Kubernetes. Той дава цялата информация за клъстер, като подробности за възли, пространства от имена, роли, натоварвания и т.н.

Можете да използвате диаграми на кормилото, за да разположите таблото за управление на Kubernetes или да използвате проста команда kubectl, спомената по-долу:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

Kops

Kops означава операции на Kubernetes, проект с отворен код, използван за много лесно и бързо създаване на готови за производство клъстери Kubernetes. Kops може да се използва за внедряване на Kubernetes клъстери предимно на AWS и GCE.

Малък по размер Kubernetes клъстер е лесен за създаване и поддръжка, но когато мащабирате своя клъстер, се добавят много конфигурации и става трудно да се управлява оперативно. Kops е инструмент, който ви помага да разрешите подобни проблеми. Той следва подход, управляван от конфигурация, при който поддържа клъстера винаги актуален и безопасен.

Kops също има много мрежови бекендове и избирането на един от тях, в зависимост от случая на използване, ви улеснява при настройването на различни типове клъстери.

cAdvisor

cAdvisor е инструмент с отворен код за наблюдение на контейнер. Използва се за разбиране на характеристиките на производителността и използването на ресурсите на контейнерите, работещи в клъстера.

Той работи на ниво възел и може автоматично да открива всички контейнери, работещи на конкретен възел, и събира статистически данни за паметта, файловата система, процесора и мрежата. Той предоставя уеб интерфейс, който показва данните на живо на всички контейнери в клъстера.

За да започнете с cAdvisor, трябва да стартирате неговия докер образ google/cadvisor и след това можете да получите достъп до него на http://localhost:8080 в уеб браузър.

Kubespray

Kubespray е безплатен инструмент, който е създаден чрез комбиниране на Ansible playbooks и Kubernetes. Използва се за управление на жизнения цикъл на клъстери Kubernetes.

  15 класически игри за Playstation (PS1), които все още бихте искали да играете

С помощта на Kubespray можете бързо да внедрите клъстер и да персонализирате всички параметри на внедряване на клъстер като режими на внедряване, мрежови плъгини, конфигурация на DNS, версии на компоненти, методи за генериране на сертификати и др.

Като стартирате само една проста ansible-playbook, вашият клъстер е готов и работи. Можете лесно да мащабирате или надстроите своя Kubernetes клъстер.

K9s

K9s е терминално базиран инструмент с отворен код и неговата помощна програма за табло може да прави всичко, което прави уеб интерфейсът на Kubernetes. Използва се за навигация, наблюдение и управление на приложението, разположено в клъстера Kubernetes.

Характеристики на K9s:

  • Проследявайте своя клъстер в реално време
  • Персонализирайте дисплея на базата на ресурс
  • Увеличете мащаба до проблеми с ресурсите на клъстера
  • Поддържа ролеви контрол на достъпа
  • Вградени бенчмаркове за валидиране на ефективността на ресурсите

Kubetail

Kubetail е прост bash скрипт, който се използва за събиране на регистрационни файлове от множество подове в един поток.

Много удобно!

Помага ви при лесно отстраняване на грешки.

Последната версия на Kubetail също има функции за подчертаване и филтриране. Тази функция ви позволява да извършвате оцветяване на трупи. Използвайки homebrew, можете да инсталирате Kubetail с една команда. Можете да добавите стойности по подразбиране в променливите на средата, които Kubetail може да прочете като KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS и т.н.

PowerfulSeal

PowerfulSeal е мощен инструмент за инженеринг на хаос с отворен код, написан на Python за клъстери Kubernetes.

Инженерингът на хаоса се използва, за да се спечели увереността на системата, за да се провери нейната способност да се справя с проблемни ситуации в производството. Той инжектира повреда в клъстера на Kubernetes, за да идентифицира проблемите в него възможно най-рано.

Той е вдъхновен от Netflix Chaos Monkey и се използва за подобряване на устойчивостта на Kubernetes. Използвайки PowerfulSeal, инженерите съзнателно се опитват да разбият нещата в клъстера, за да проверят как реагира системата.

PowerfulSeal работи в три режима – Автономен, Интерактивен, Етикет.

В автономен режим той изпълнява сценарии, като чете файл с политика, който предоставяте. В интерактивен режим той ви разказва за компонентите на клъстера, които ръчно се опитвате да разбиете. В режим на етикетиране вие ​​убивате целеви обекти в клъстера като шушулки с помощта на етикети.

Попай

Попай е помощна програма за почистване, която действа като дезинфектант 🧼 за клъстери на Kubernetes.

Той ще сканира целия клъстер и ще докладва за проблеми, свързани с конфигурации и ресурси. Помага ви да изпълните най-добрите практики в клъстера Kubernetes, за да стоите далеч от често срещани проблеми.

Тази помощна програма е достъпна за Windows, Linux и macOS. В момента работи само с възли, подове, пространства от имена, услуги. Използвайки Popeye, можете лесно да идентифицирате мъртви и неизползвани ресурси, несъответствия на портове, RBAC правила, използване на показатели и много повече.

Заключение

Инструментите DevOps играят жизненоважна роля за успеха и се надявам, че горното ще ви помогне да управлявате по-добре Kubernetes.