В развивающейся Cloud-Native среде Kubernetes используется повсеместно без каких-либо сомнений. Он стал стандартом для оркестровки контейнеров. Но управление несколькими кластерами Kubernetes представляет собой новый набор проблем. Давайте рассмотрим некоторые из популярных инструментов для эффективного управления Kubernetes.
- 1. Kube-Prometheus-Stack .
- Установка
- 2. Karpenter
- Почему Karpenter?
- Установка
- 3. Devtron
- Некоторые из удивительных возможностей, которые предоставляет Devtron, следующие:
- Установка (с помощью Helm3)
- 4. KEDA
- Установка KEDA (с помощью helm)
- Helm 2
- Рулевой 3
- 5. Серебряный серфер
- Установка
- 6. Зимний солдат
- Установка
- 7. Kyverno
- Установка
- Devtron
1. Kube-Prometheus-Stack .
Prometheus — это инструмент с открытым исходным кодом, используемый для мониторинга и оповещения на основе метрик. Kube-Prometheus-Stack представляет собой набор манифестов kubernetes, правил Prometheus и приборных панелей Grafana в сочетании с документацией и скриптами для обеспечения простого сквозного мониторинга кластера kubernetes с помощью Prometheus с использованием оператора Prometheus. Поскольку он включает в себя как оператор Prometheus, так и приборные панели Grafana, нет необходимости настраивать их отдельно.
Установка
Чтобы установить Prometheus Stack, необходимо выполнить следующие шаги:
- Создайте пространство имен для Prometheus Stack:
kubectl create namespace prometheus
- Добавить репозиторий prometheus-community Helm:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
- Обновите кэш локального репозитория Helm chart:
helm repo update
- Чтобы установить последнюю версию карты Helm kube-prometheus-stack:
helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus
- Чтобы установить kube-prometheus-stack Helm chart в определенной версии :
helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus --version=<version>
2. Karpenter
Karpenter — это гибкий, высокопроизводительный автоскалер кластера Kubernetes с открытым исходным кодом, созданный на базе AWS, который улучшает использование ресурсов и доступность приложений. Он следит за запросами на ресурсы незапланированных стручков и запускает подходящие по размеру экземпляры Amazon EC2 на основе потребностей рабочих нагрузок кластера, таких как ускорение, вычисления, требования к планированию и хранение.
Почему Karpenter?
- Karpenter может предоставить новые экземпляры EC2 и запланировать работу стручков Kubernetes в течение минуты.
- При минимальных инфраструктурных и конфигурационных накладных расходах Karpenter динамически выбирает типы экземпляров EC2, которые наилучшим образом соответствуют требованиям, предъявляемым к стручкам Kubernetes.
- Karpenter может работать с кластером Kubernetes на базе любой среды или облака.
Установка
Установите Karpenter в кластер Kubernetes с помощью диаграмм Helm. Но перед этим необходимо убедиться, что доступно достаточно вычислительных мощностей. Karpenter требует разрешений на предоставление вычислительных ресурсов, которые основаны на выбранном вами облачном провайдере. Для установки перейдите по этой ссылке.
3. Devtron
Devtron — это рабочий процесс доставки программного обеспечения для Kubernetes с открытым исходным кодом, написанный на языке go. Он разработан как платформа самообслуживания для операционализации и обслуживания приложений (AppOps) на Kubernetes в удобной для разработчиков форме.
Некоторые из удивительных возможностей, которые предоставляет Devtron, следующие:
- рабочий процесс доставки программного обеспечения с нулевым кодом
- Развертывание в нескольких облаках
- Простая интеграция DevSecOps
- Панель отладки приложений
- Безопасность и соответствие стандартам корпоративного уровня
- Поддержка GitOps
Чтобы узнать больше о devtron, пожалуйста, посетите эту страницу.
Установка (с помощью Helm3)
Выполните указанные ниже шаги:
helm repo add devtron https://helm.devtron.ai
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd
kubectl -n devtroncd get installers installer-devtron -o jsonpath='{.status.sync.status}'
Приведенная выше команда покажет статус установки. Будет выведено Downloaded, если установка находится в процессе, и Applied, если установка завершена.
kubectl get svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}'
kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ACD_PASSWORD}' | base64 -d
Чтобы подробно ознакомиться с шагами установки devtron, пожалуйста, посетите эту страницу.
4. KEDA
KEDA — это автоскалер на базе Kubernetes, управляемый событиями. С помощью KEDA мы можем масштабировать любой контейнер в Kubernetes на основе событий. KEDA может быть установлен в любой кластер Kubernetes и может работать вместе со стандартными компонентами Kubernetes, такими как Horizontal Pod Autoscaler (HPA).
Установка KEDA (с помощью helm)
- Добавьте репозиторий helm:
helm repo add kedacore https://kedacore.github.io/charts
- Обновить репозиторий Helm:
helm repo update
- Установите карту keda helm
Helm 2
helm install kedacore/keda --namespace keda --version 1.4.2 --name keda
Рулевой 3
kubectl create namespace keda helm install keda kedacore/keda --version 1.4.2 --namespace keda
5. Серебряный серфер
В настоящее время не существует простого способа обновления объектов kubernetes в случае обновления kubernetes. Это утомительная задача — узнать, является ли текущая ApiVersion объекта удаленной, устаревшей или неизменной. Это позволяет получить подробную информацию о проблемах с объектами kubernetes в случае их миграции на кластер с более новой версией kubernetes.
Установка
Всего несколько команд, и он готов обслуживать ваш кластер.
git clone https://github.com/devtron-labs/silver-surfer.git
cd silver-surfer
go mod vendor
go mod download
make
Все готово. В директории bin может быть создан бинарный файл, готовый к использованию команды ./kubedd.
Он классифицирует объекты kubernetes на основе изменений в ApiVersion. Категории следующие:
- Удаленная версия ApiVersion
- Устаревшая версия ApiVersion
- Более новая версия ApiVersion
- Неизмененная версия ApiVersion
Внутри каждой категории указывается путь миграции на новую версию ApiVersion, возможные пути следующие:
- Миграция невозможна, так как нет общих версий ApiVersion между исходной и целевой версиями kubernetes
- Миграция возможна, но есть некоторые проблемы, которые необходимо решить
- Миграция возможна только с изменением ApiVersion.
Эта операция выполняется как для текущей, так и для новой версии ApiVersion.
Вы можете ознакомиться с репозиторием здесь
6. Зимний солдат
Winter soldier можно использовать для уменьшения или удаления ненужной рабочей нагрузки после рабочего дня на основе условий. Winter Soldier — это оператор, который ожидает, что условия будут определены с помощью hibernator CRD.
Очень часто в кластере kubernetes остаются рабочие нагрузки, которые давно не используются или в которых больше нет необходимости, что увеличивает TCO инфраструктуры. В выходные дни очень редко бывает, что кластер kubernetes или рабочие нагрузки используются, но все равно остаются включенными. В таких случаях мы можем использовать зимнего солдата. Чтобы узнать больше о winter-soldier, перейдите по этой ссылке.
Установка
Перейдите по этой ссылке, чтобы получить шаги по установке winter soldier.
7. Kyverno
В kubernetes нам нужно установить некоторые правила или политики и сделать это таким образом, чтобы позволить всем остальным использовать свой кластер без высокого риска или разрушения чужой работы. Итак, здесь мы рассмотрим собственное решение kubernetes для политик, и это Kyverno. Kyverno — это система управления политиками с открытым исходным кодом для kubernetes. Kyverno позволяет администраторам кластера проверять, изменять и генерировать ресурсы.
Установка
- Чтобы установить Kyverno с помощью Helm, сначала добавьте репозиторий Kyverno Helm:
helm repo add kyverno https://kyverno.github.io/kyverno/
- Просканируйте новый репозиторий на наличие графиков:
helm repo update
- Используйте Helm 3.2+ для создания пространства имен и установки Kyverno.
helm install kyverno kyverno/kyverno --namespace kyverno --create-namespace
Выберите любой из вышеперечисленных инструментов и опробуйте его на своем кластере Kubernetes!
Следите за Devtron для всего, что касается Kubernetes, DevOps и Opensource.

Devtron