Kubernetes — очень популярная тема в наши дни, и по мере ее роста все больше разработчиков будут нуждаться в большем количестве инструментов для своих приложений Kubernetes. Сообщество очень активно выпускает множество инструментов с открытым исходным кодом для оптимизации платформы, предоставляя новым участникам и давним разработчикам широкий выбор инструментов с открытым исходным кодом. Есть несколько замечательных инструментов, которые, несомненно, помогут нам в использовании Kubernetes, сэкономят время и облегчат нашу работу.

В этой статье мы рассмотрим семь популярных и надежных инструментов с открытым исходным кодом и то, что они могут сделать для наших проектов Kubernetes, чтобы упростить нашу работу. В частности, вам следует следить за этими проектами в 2022 году, поскольку они демонстрируют большой потенциал.

Кубскейп

Kubescape от ARMO — это инструмент с открытым исходным кодом для определения того, безопасно ли развертывается Kubernetes с использованием нескольких сред, таких как NSA-CISA и MITRE ATT&CK®. Используя этот инструмент, команды могут тестировать Kubernetes на множестве фреймворков одним щелчком мыши. Kubescape может сканировать диаграммы HELM, файлы YAML и кластеры K8s в конвейере CI/CD, что позволяет заблаговременно обнаруживать неправильные конфигурации и уязвимости программного обеспечения. Он также вычисляет оценки риска в режиме реального времени и показывает закономерности риска с течением времени.

Простой интерфейс командной строки Kuberscape, настраиваемые форматы вывода и функции автоматического сканирования помогли ему стать одним из самых популярных решений Kubernetes для обеспечения соответствия требованиям безопасности среди разработчиков, экономя время, усилия и ресурсы пользователей и администраторов Kubernetes. Kubescape изначально интегрирован с другими инструментами DevOps, включая Jenkins, CircleCI и Gitlab, а также поддерживает многооблачные развертывания K8s, такие как EKS, GKE и AKS.

Эта новая технология может быть доведена до предела, что делает ее обязательным проектом в 2022 году.

Прометей

Prometheus от SoundCloud — это среда мониторинга системы с открытым исходным кодом и набор инструментов оповещения для Kubernetes. Этот инструмент также имеет встроенные возможности мониторинга кластеров Kubernetes и возможность захвата огромных объемов данных за доли секунды. Он хорошо подходит для очень сложных задач, имеет многомерную модель данных и очень удобный формат и протокол.

Prometheus работает, отправляя HTTP-запросы, часто называемые очистками, в соответствии с предопределенной конфигурацией. Ответ на очистку, а также любые соответствующие метрики и информация анализируются и сохраняются. Собранные данные читабельны, не требуют пояснений и передаются через HTTP. Сервер Prometheus также создает систему для взаимодействия с этими данными, предлагая глубокие запросы, визуализацию, хранение и другие возможности.

Графана

Grafana — система мониторинга, метрик, визуализации и анализа данных. Этот инструмент с открытым исходным кодом позволяет создавать полные панели мониторинга с использованием ряда графиков, включая тепловые карты, линейные графики и географические карты. Grafana невероятно мощная, с такими функциями, как оповещения, запросы к конкретному источнику данных, аутентификация/авторизация и многое другое.

Он прост в настройке и широко используется в сообществе Kubernetes. Некоторые файлы конфигурации развертывания по умолчанию включают контейнер Grafana. Grafana может отправить сигнал тревоги через Slack, веб-перехватчик, электронную почту или другие каналы связи, а также может одновременно запрашивать несколько объектов.

Джагер

Jaeger — это бесплатный инструмент трассировки для мониторинга и отладки сложных распределенных систем. Он был выпущен Uber Technologies с открытым исходным кодом в 2016 году. Он используется в сложных распределенных системах для мониторинга и отладки транзакций. Кроме того, Jaeger также проводит анализ первопричин, мониторинг распределенных транзакций и распространение распределенного контекста среди других услуг. Инструмент позволяет пользователям проводить расследование основных причин, оптимизировать производительность и отслеживать распределенные транзакции.

Jaeger поддерживает источники данных на основе OpenTelemetry, такие как Cassandra, Elasticsearch, Kafka и RAM. Он поддерживает Java, Node, Python, Go и C++. Jaeger Operator — это реализация Kubernetes Operator, которая предоставляет другой способ упаковки, развертывания и управления приложением Kubernetes. Вы можете использовать Jaeger Operator или конфигурацию DaemonSet для развертывания Jaeger. В целях тестирования и демонстрации также доступно комплексное развертывание.

Кубемонки

Хаотическая обезьяна Netflix реализована в виде кластера Kubernetes в Kube-monkey: инструменте хаос-инжиниринга, который случайным образом завершает работу виртуальных машин и контейнеров, чтобы подтолкнуть разработчиков к созданию более отказоустойчивых систем. Kube-monkey — это инструмент стресс-тестирования кластеров Kubernetes, основанный на том же принципе. Он работает путем случайного исключения модулей k8s в указанном вами кластере, и его можно настроить для работы в определенные временные рамки, стимулирования формирования отказоустойчивых сервисов и улучшения общего состояния вашей системы.

Вы также можете использовать файл TOML для настройки Kube-monkey, что позволит вам указать, какие приложения следует удалить и когда инструмент должен использовать ваши процедуры восстановления. У вас есть дополнительный контроль над хаосом, потому что он не полностью случайный; Kube-monkey работает по принципу согласия, что означает, что вы должны предоставить авторизацию для завершения работы модулей в данном приложении, прежде чем обезьяна сможет разгуляться. Вы можете решить, какое приложение следует уничтожить и когда вам следует попрактиковаться в тактике восстановления.

Истио

Istio — это сервисная сетка с открытым исходным кодом, упрощающая подключение, управление и защиту трафика между микросервисами, работающими в контейнерах. Istio — это совместная работа IBM, Google и Lyft, построенная на Envoy, позволяющая использовать плагины и возможности расширения. Istio повышает безопасность, наблюдаемость и управление трафиком в системах Kubernetes, поскольку они, к сожалению, приносят новые проблемы при разработке и архитектуре.

Сервисная сетка устанавливает дополнительный прокси-сервер рядом с каждым контейнером и инкапсулирует эти сетевые возможности в плоскость управления. Это одна из таких сервисных сетей с открытым исходным кодом, получившая широкое распространение.

Панель управления Kubernetes

Панель управления Kubernetes — это пользовательский веб-интерфейс для кластеров Kubernetes. Собственная информационная панель упрощает устранение неполадок и мониторинг кластеров K8s. Вы должны установить безопасный прокси-канал между API-сервером Kubernetes для доступа к панели мониторинга. Собственная панель мониторинга Kubernetes зависит от сборщика данных Heapster, который также должен быть установлен на компьютере.

Панель мониторинга предоставляет основные показатели, такие как данные о потреблении памяти и ЦП, для всех ваших узлов и отслеживает состояние рабочих нагрузок (модулей, развертываний, наборов реплик, заданий cron и т. д.), а также управляет кластером Kubernetes и устраняет неполадки. Готовые к использованию файлы YAML позволяют быстро установить панель мониторинга Kubernetes.

Заключение

Поскольку 2022 год принесет всем нам новые разработки и технологии, акцент в этой статье сделан на инструментах с открытым исходным кодом, которые помогут вам улучшить и улучшить работу с Kubernetes. Использование этих инструментов по мере их развития в технологическом ландшафте поможет вам и вашим друзьям-разработчикам оставаться на вершине игры K8s благодаря различным вариантам управления, обработки и распределения данных. Я и мои коллеги желаем вам процветания в новом году.