Независимый аналитик Кристофер Тоцци называет на портале ITPro Today восемь популярных инструментов с открытым исходным кодом для упрощения администрирования, обеспечения безопасности и управления затратами при работе с Kubernetes.

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

Ниже мы рассмотрим восемь наиболее популярных Open Source-инструментов, которые помогают упростить рабочие процессы с Kubernetes.

1. Kubectl: основной инструмент администрирования Kubernetes

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

В некоторых дистрибутивах для администрирования используются другие CLI-инструменты; например, в OpenShift в основном используется oc, который предоставляет почти ту же функциональность, что и kubectl, с некоторыми дополнительными возможностями. Но в целом kubectl является основным инструментом для управления Kubernetes.

2. Kubectx: для переключения контекста кластера

Одна из первых вещей, которую вы обнаружите при использовании kubectl, — это то, что его необходимо настроить на «контекст» кластера, которым вы хотите управлять. В противном случае kubectl не будет знать, как взаимодействовать с кластером, с которым вы работаете.

Если вам нужно управлять только одним кластером, вы можете один раз настроить контекст kubectl и двигаться дальше. Но что делать, если у вас несколько кластеров? Переустанавливать контекст вручную каждый раз, когда нужно работать с другим кластером, очень хлопотно.

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

3. Prometheus: для мониторинга Kubernetes

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

Если вы ищете решение для мониторинга Kubernetes, которое одновременно относится к категории Open Source и разработано для мониторинга контейнеров и других нативных облачных рабочих нагрузок, то Prometheus, вероятно, является наиболее очевидным выбором. Он отвечает всем основным требованиям, предъявляемым к средствам мониторинга Kubernetes, а то, что он является бесплатным и с открытым исходным кодом, является дополнительным бонусом.

4. Jaeger: для трассировки Kubernetes

Jaeger для трассировки Kubernetes — это то же самое, что Prometheus для мониторинга Kubernetes. Это инструмент с открытым исходным кодом, предназначенный для отслеживания проблем в рабочих нагрузках Kubernetes до их источника.

Используемый вместе с такими инструментами, как Prometheus, Jaeger позволяет быстро определить причину проблем с производительностью Kubernetes.

5. Kubewatch: для управления уведомлениями Kubernetes

Такие инструменты мониторинга и трассировки, как Prometheus и Jaeger, хороши для сбора большого количества данных из Kubernetes, которые затем можно проанализировать для выявления таких проблем, как отказ узлов или подсистем.

Но если вы ищете более простой способ мониторинга основных компонентов кластера Kubernetes, вам пригодится Kubewatch. Это простой инструмент с открытым исходным кодом, позволяющий определить ресурсы Kubernetes, такие как подсистемы или сервисы, которые необходимо отслеживать. При изменении их состояния он публикует уведомления в канале Slack.

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

6. Kamus: для управления секретами Kubernetes

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

Kamus позволяет упростить этот процесс. Это инструмент с открытым исходным кодом, который позволяет шифровать и расшифровывать секреты с помощью внешнего хранилища секретов (которое представляет собой безопасное место для хранения секретных данных).

7. OpenCost: для управления затратами в Kubernetes

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

OpenCost — это инструмент с открытым исходным кодом, предназначенный для решения этой задачи. Он обеспечивает видимость расходов на Kubernetes. Он не оптимизирует эти расходы, но предоставляет некоторые сведения, необходимые для определения перерасхода средств и возможностей экономии.

8. Velero: для резервного копирования Kubernetes

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

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

Заключение

Мы могли бы продолжить — здесь мы затронули лишь некоторые из наиболее популярных Open Surce-инструментов для Kubernetes, и этот список далеко не исчерпывающий. Но если вы собираете базовый набор основных инструментов с открытым кодом для упрощения администрирования, обеспечения безопасности и управления затратами в Kubernetes, то эти решения будут отличным вариантом для начала.