ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопасность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать

”тилиты дл€ прокачки Kubernetes

—пасибо Xzibit'у, за то что прокачал мой Kubernetes

ћерион Ќетворкс

9 минут чтени€

–абота€ в экосистеме DevOps, скоро понимаешь, насколько важно иметь инструменты DevOps дл€ уменьшени€ ручной работы. ƒл€ каждого этапа DevOps есть несколько наборов инструментов с различными функциональными возможност€ми.

”тилиты дл€ прокачки Kubernetes

Kubernetes €вл€етс€ одним из об€зательных, если вы работаете в домене DevOps и запускаете свои приложени€ внутри контейнеров. ƒл€ большей функциональности Kubernetes можно использовать сотни различных инструментов. √овор€ об инструментах имеетс€ ввиду утилиты дл€ упрощени€ управлени€, улучшени€ безопасности, различные панели и средства мониторинга Kubernetes кластеров.


1. Helm

Helm - это менеджер пакетов дл€ Kubernetes, который позвол€ет легко управл€ть приложени€ми и службами, которые используютс€ во многих различных сценари€х, облегча€ их развертывание в типичном кластере Kubernetes. »спользу€ Helm, вы можете найти, поделитьс€ и использовать программное обеспечение, которое построено дл€ Kubernetes.

ќн использует диаграммы, называемые Helm Charts, дл€ определени€, установки и обновлени€ сложных приложений Kubernetes.

‘ункции Helm:

  • ќтображает состо€ние всех Kubernetes приложений с помощью диаграмм
  • »спользует настраиваемые крючки, чтобы легко проводить обновлени€.
  • ƒиаграммы можно использовать на общедоступных или частных серверах.
  • ѕростой откат к предыдущему состо€нию с помощью одной команды
  • ѕовышение производительности разработчиков и эксплуатационной готовности

2. Flagger

Flagger - это оператор прогрессивной доставки дл€ Kubernetes.

ќн автоматизирует продвижение канареечного развертывани€ с помощью Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, Skipper дл€ маршрутизации трафика и Prometheus дл€ анализа канарей. ѕри канареечном развертывании выпуски развертываютс€ дл€ небольшой группы пользователей, тестируютс€, если работает нормально, то выпуски развертываютс€ дл€ всех.

Flagger

ќн использует сетку служб, котора€ выполн€етс€ в кластере, дл€ управлени€ трафиком между развертыванием. ƒл€ переноса трафика в канарейку он измер€ет такие показатели производительности, как средн€€ продолжительность запросов, частота успешных запросов HTTP, работоспособность модул€ и т.д.

Flagger может выполн€ть автоматизированный анализ приложений, продвижение и откат дл€ нескольких стратегий развертывани€, таких как Canary, A/B-тестирование, Blue/Green-развертывание.


3. Kubewatch

Kubewatch это наблюдатель с открытым исходным кодом дл€ Kubernetes, который отправл€ет уведомление через Slack.

ќн написан на €зыке Go и разработан Bitnami Labs. ќн используетс€ дл€ мониторинга ресурсов Kubernetes и уведомл€ет, есть ли какие-либо изменени€.

”становить Kubewatch можно через kubectl или с помощью диаграмм helm. ¬ нем легко разобратьс€ и имеет очень простой в использовании интерфейс.  роме Slack, он также поддерживает HipChat, Mattermost, Flock, webhook и SMTP.

¬ зависимости от того, какой Kubernetes кластер вы хотите отслеживать, вы можете установить значение true или false дл€ этих ресурсов в файле ConfigMap. ѕосле установки конфигурации kubewatch и запуска модул€ вы начнете получать уведомлени€ о событии Kubernetes, как показано ниже.

Kubewatch

4. Gitkube

Gitkube - это инструмент, который использует git push дл€ создани€ и развертывани€ докер образов на Kubernetes. »меет три компонента - Remote, gitkube-контроллер, gitkubed. Remote состоит из пользовательских ресурсов, управл€емых gitkube-контроллером. gitkube-controller отправл€ет изменени€ в gitkubed, который затем строит образ докера и развертывает его.

Gitkube

ќсобенности Gitkube:

  • ѕростота установки, подключени€ и развертывани€
  • ќбеспечивает управление доступом на основе ролей дл€ обеспечени€ безопасности
  • ѕроверки подлинности с помощью открытого ключа
  • ѕоддерживаетс€ пространство имен дл€ множественной аренды
  • Ќикаких дополнительных зависимостей, кроме kubectl и git

5. kube-state-metrics

kube-state-metrics - сервис, который генерирует метрики объекта состо€ни€, прослушива€ сервер API Kubernetes. ќн используетс€ дл€ проверки работоспособности различных объектов, таких как узлы, модули, пространства имен и развертывани€. ќн предоставл€ет необработанные, немодифицированные данные из API Kubernetes.

Ќиже приведена информаци€, предоставленна€ kube-state-metrics:

  • «адани€ Cron и статус задани€
  • —осто€ние модулей (готовность, выполнение и т.д.)
  • «апросы на ресурсы и их диапазон
  • ѕропускна€ способность узла и его состо€ние
  • —пецификаци€ наборов реплик

6. Kamus

Kamus - это инструмент GitOps с открытым исходным кодом, который используетс€ дл€ шифровани€ и дешифровани€ секретных ключей дл€ приложений Kubernetes. «ашифрованные ключи, которые делает Kamus, могут быть расшифрованы только приложени€ми, работающими в кластере Kubernetes. ƒл€ шифровани€ ключей используетс€ AES, Google Cloud KMS, Azure KeyVault. Ќачать работу с Kamus можно с помощью helm.

Kamus поставл€етс€ с двум€ утилитами - Kamus CLI и Kamus init container. Kamus CLI используетс€ дл€ интеграции с шифрованным API, а контейнер Kamus init - дл€ интеграции с расшифровкой API.

ѕо умолчанию, пароли в Kubernetes закодированы в base64 и не зашифрованы. ѕоэтому, из соображений безопасности, нельз€ держать такие ключи на. Ћюбой, кто имеет доступ к репозиторию, сможет использовать эти секреты. —ледовательно, необходимо правильное решение дл€ шифровани€/дешифровани€, как, например, Kamus. ќн также предоставл€ет модель угроз, котора€ учитывает угрозы и делает секреты безопасными.


7. Untrak

Untrak - инструмент с открытым исходным кодом, используемый в Kubernetes дл€ поиска неотслеживаемых ресурсов и сбора мусора. ќн помогает находить и удал€ть файлы из кластера, которые не отслеживаютс€.

ѕосле ввода манифестов в конвейер CI/CD с использованием шаблона kubectl apply или helm Kubernetes не знает, когда объект будет удален из репозитори€. ѕосле удалени€ объектов они не отслеживаютс€ в процессе доставки и по-прежнему наход€тс€ в кластере Kubernetes.

ќн выполн€ет команду внутренне, использу€ простой конфигурационный файл untrak.yaml, чтобы найти ресурсы, которые больше не €вл€ютс€ частью управлени€ исходным кодом.

Untrak

8. Weave Scope

Weave Scope предназначена дл€ визуализации, мониторинга и устранени€ неполадок Docker и Kubernetes.

ќн отображает всю структуру контейнерного приложени€ сверху вниз, и полную инфраструктуру, с помощью которой вы можете легко вы€вить любые проблемы и диагностировать их.

¬ыполнение приложений микросервисной архитектуры в контейнерах докеров не так просто.  омпоненты здесь очень динамичны и трудно поддаютс€ мониторингу. — помощью Weave Scope можно легко устран€ть утечки пам€ти и контролировать потребление ÷ѕ, визуализировать узкие места сети.

Weave Scope

‘ункции Weave Scope:

  • ѕомогает отслеживать контейнеры докеров в режиме реального времени
  • ѕроста€ навигаци€ между процессами, выполн€емыми в контейнерах
  • ѕоказывает хост или службу использовани€ ÷ѕ и пам€ти
  • ѕерезапуск, остановка или приостановка контейнеров с помощью интерфейса командной строки, не выход€ из окна браузера Weave Scope.
  • ѕоддержка пользовательских подключаемых модулей дл€ получени€ более подробной информации о контейнерах, процессах и хостах

9. Kubernetes Dashboard

Kubernetes Dashboard - веб-интерфейс, предоставл€емый компанией Kubernetes. ќн используетс€ дл€ развертывани€, устранени€ неполадок и управлени€ контейнерным приложением в кластере Kubernetes. ќн предоставл€ет всю информацию о кластере, такую как сведени€ о узлах, пространствах имен, рол€х, рабочих нагрузках и т.д.

Kubernetes Dashboard

ћожно использовать helm дл€ развертывани€ панели управлени€ Kubernetes или воспользоватьс€ простой командой kubectl:

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

10. Kops

Kops, который расшифровываетс€ как Kubernetes Operations - это проект с открытым исходным кодом, используемый дл€ создани€ готовых к запуску в производственной среде кластеров Kubernetes. Kops, в первую очередь, можно использовать дл€ развертывани€ кластеров Kubernetes на AWS и GCE.

Ќебольшой кластер Kubernetes легко создать и обслуживать, но при масштабировании кластера добавл€етс€ множество конфигураций, и становитс€ трудно управл€ть им. Kops - это инструмент, который помогает решать подобные задачи. ќн использует подход, основанный на настройке, при котором кластер всегда находитс€ в актуальном состо€нии и в безопасености.

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

Kops

11. cAdvisor

cAdvisor - это инструмент с открытым исходным кодом дл€ мониторинга контейнера. ќн используетс€ дл€ чтени€ характеристик производительности и использовани€ ресурсов контейнеров, работающих в кластере.

ќн работает на уровне узла и может автоматически обнаруживать все контейнеры, работающие на определенном узле, и собирать статистику использовани€ пам€ти, файловой системы, ÷ѕ и сети. ќн предоставл€ет веб-интерфейс, который отображает динамические данные всех контейнеров в кластере.

ƒл€ начала работы с cAdvisor необходимо запустить его docker образ google/cadvisor, а затем получить к нему доступ по адресу http://localhost:8080 в веб-браузере.

cAdvisor

12. Kubespray

Kubespray - это бесплатный инструмент, который был создан путЄм объединени€ playbooks Ansible и Kubernetes. »спользуетс€ дл€ управлени€ жизненным циклом кластера Kubernetes.

— помощью Kubespray можно быстро развернуть кластер и настроить все параметры реализации кластера, такие как режимы развертывани€, сетевые плагины, конфигураци€ DNS, версии компонентов, методы создани€ сертификатов и т.д.

ƒл€ начала работы кластера достаточно запустить один единственный ansible-playbook. ¬ы можете легко масштабировать или обновл€ть кластер Kubernetes.


13. K9s

K9s - это терминальный инструмент с открытым исходным кодом, и его утилита панели мониторинга может делать все, что делает веб-интерфейс Kubernetes. ќн используетс€ дл€ навигации, наблюдени€ и управлени€ приложением, развернутым в кластере Kubernetes.

Kubespray

K9s функции:

  • ќтслеживание кластера в реальном времени
  • Ќастройка отображени€ дл€ каждого ресурса
  • √лубокий анализ проблем с ресурсами кластера
  • ѕоддерживает управление доступом на основе ролей
  • ¬строенные эталонные тесты дл€ проверки производительности ресурсов

14. Kubetail

Kubetail - это простой сценарий bash, который используетс€ дл€ агрегировани€ журналов из нескольких модулей в одном потоке.

ѕоследн€€ верси€ Kubetail также имеет функции выделени€ и фильтрации. Ёта функци€ позвол€ет выдел€ть нужные части логов отдельным цветом. »спользу€ homebrew, можно установить Kubetail с помощью одной команды. „тобы упростить работу Kubetail можно добавить значени€, как KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS и т.д. в переменные среды.


15. PowerfulSeal

PowerfulSeal - мощный инструмент хаос-инжиниринга с открытым исходным кодом, написанный на €зыке python дл€ кластеров Kubernetes.

’аос-инжиниринг используетс€ дл€ того, чтобы проверить отказоустойчивость системы, ее способность справл€тьс€ с проблемными ситуаци€ми в производственной среде. ќн вводит в кластер Kubernetes ошибки, чтобы вы€вить проблемы в нем как можно раньше.

—оздателей PowerfulSeal вдохновил Netflix Chaos Monkey и она используетс€ дл€ повышени€ устойчивости Kubernete. »спользу€ Seal, инженеры сознательно пытаютс€ нарушить работу кластера, чтобы проверить, как система реагирует.

Seal работает в трех режимах - автономный, интерактивный, и режим меток.

¬ автономном режиме он выполн€ет сценарии, считыва€ предоставленный файл политики. ¬ интерактивном режиме он рассказывает о компонентах кластера, которые вручную пытаютс€ разорвать. ¬ режиме меток целевые объекты в кластере, такие как модули, уничтожаютс€ с помощью меток.

Kubetail

16. Popeye

Popeye - это утилита дл€ очистки кластеров Kubernetes.

Popeye

ќн сканирует весь кластер и сообщает о проблемах, св€занных с конфигураци€ми и ресурсами. Ёто помогает примен€ть лучшие практики в кластере Kubernetes, чтобы избежать распространенных проблем.

Ёта утилита доступна дл€ Windows, Linux и macOS. ¬ насто€щее врем€ он работает только с узлами, модул€ми, пространствами имен, службами. — помощью Popeye можно легко идентифицировать мертвые и неиспользуемые ресурсы, несоответстви€ портов, правила RBAC, использование метрик и многое другое.