7 инструментов для упрощения управления Kubernetes

В развивающейся Cloud-Native среде Kubernetes используется повсеместно без каких-либо сомнений. Он стал стандартом для оркестровки контейнеров. Но управление несколькими кластерами Kubernetes представляет собой новый набор проблем. Давайте рассмотрим некоторые из популярных инструментов для эффективного управления Kubernetes.

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?

  1. Karpenter может предоставить новые экземпляры EC2 и запланировать работу стручков Kubernetes в течение минуты.
  2. При минимальных инфраструктурных и конфигурационных накладных расходах Karpenter динамически выбирает типы экземпляров EC2, которые наилучшим образом соответствуют требованиям, предъявляемым к стручкам Kubernetes.
  3. 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. Категории следующие:

  1. Удаленная версия ApiVersion
  2. Устаревшая версия ApiVersion
  3. Более новая версия ApiVersion
  4. Неизмененная версия ApiVersion

Внутри каждой категории указывается путь миграции на новую версию ApiVersion, возможные пути следующие:

  1. Миграция невозможна, так как нет общих версий ApiVersion между исходной и целевой версиями kubernetes
  2. Миграция возможна, но есть некоторые проблемы, которые необходимо решить
  3. Миграция возможна только с изменением 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

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

Оцените статью
Procodings.ru
Добавить комментарий