Развертывание приложения в Azure AKS с помощью HELM

May 05 2023
С ростом популярности контейнеров при разработке приложений возникает ряд дополнительных проблем, связанных с необходимостью управления тысячами контейнеров, на которых выполняются сложные корпоративные приложения. Управление такими контейнерами в нескольких средах развертывания — сложная задача.

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

Кубернетес

Kubernetes — это система оркестрации контейнеров с открытым исходным кодом для автоматизации развертывания программного обеспечения, масштабирования и управления контейнерными приложениями. Безудержный успех Kubernetes привел к созданию экосистемы инструментов, упрощающих разработку и развертывание приложений. Kubernetes был создан Google и в настоящее время поддерживается Cloud Native Computing Foundation (CNCF).
Каждый из трех ведущих облачных провайдеров управляет предложениями Kubernetes для своих облачных клиентов. В этом посте мы обсудим предоставляемую Azure службу Kubernetes, которая называется Azure Kubernetes Service (AKS).

Введение в службу Azure Kubernetes (AKS)

В 2018 году Azure выпустила полностью управляемую службу оркестровки контейнеров с открытым исходным кодом под названием AKS. Он упрощает развертывание управляемого кластера Kubernetes в Azure, перекладывая операционные издержки на Azure. Являясь размещенной службой Kubernetes, Azure выполняет критически важные задачи, такие как мониторинг работоспособности и обслуживание. Поскольку мастера Kubernetes управляются Azure, мы управляем и обслуживаем только узлы агентов.

Некоторые из преимуществ запуска экземпляров Kubernetes в AKS:

  • Azure Active Directory для управления доступом на основе ролей (RBAC)
  • Azure Monitor для Kubernetes и мониторинг контейнеров
  • Сеть Azure для упрощения оркестровки и контейнерной сети
  • Политика Azure для управления кластерами, модулями, пространствами имен и входом AKS.
  • Хранилище Azure для нужд хранения в кластерах и контейнерах AKS.

Поскольку платформа и экосистема Kubernetes продолжали расти, развертывание нескольких файлов конфигурации Kubernetes (YAML) в нескольких кластерах и нескольких ресурсов для оркестровки внутри Kubernetes усложняло задачу. Существует несколько инструментов диспетчера пакетов, которые могут помочь упростить процесс. Один из них называется HELM.

«HELM — это менеджер пакетов Kubernetes. Это помогает вам управлять приложениями Kubernetes».

Развертывания

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

Шлем с помощью CLI

Предполагая, что указанные ниже предварительные условия уже установлены и настроены. Создан кластер AKS (его можно создать с помощью IaC или az CLI), установлен kubectl и установлен Helm 3.4 или более поздней версии.

Добавьте репозиторий bitnami, выполнив следующие команды.

Установите приложение моего выпуска на AKS с помощью HELM

Вывод будет:

После того, как вы увидите successсообщение, вы можете убедиться, что модули my-release запущены, с помощью следующей команды:

Чтобы получить доступ к URL-адресу администратора моего выпуска, выполните следующую команду, чтобы найти запись внешнего IP- адреса.

Раз внешний. IP-адрес находится Перейти кhttp://<EXTERNAL_IP>/admin

Шлем с помощью Pipeline

Мы можем использовать любой стандартный конвейер. Мы используем конвейер Azure DevOps (ADO) для автоматического развертывания приложений с помощью HELM и используем ACR для хранения изображений чата для корпоративных приложений.

Предпосылки: В качестве предварительного условия доступны следующие компоненты:

  • Подписка Azure
  • Кластер АКС
  • Настройка конвейера ADO
  • Субъект службы кластера AKS
  • ACR для хранения версии диаграммы

Чтобы получить доступ к URL-адресу администратора моего выпуска, выполните следующую команду, чтобы найти запись внешнего IP- адреса.

Как только внешний IP-адрес будет найден, перейдите кhttp://<EXTERNAL_IP>/admin

Заключение

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