Настройка кластеров Kubernetes с поддержкой Azure Arc с помощью GitOps

Завершено

Основное преимущество Azure Arc заключается в том, чтобы упростить реализацию принципов DevOps, которые применяют установленные методики разработки к операциям. DevOps повышает гибкость, не ставя под угрозу стабильность ИТ-среды.

Kubernetes с поддержкой Azure Arc поддерживает GitOps, практику DevOps, которая упрощает выпуски приложений, сокращая усилия по развертыванию вручную.

В этом уроке вы узнаете о GitOps и о том, как настроить его для кластеров Kubernetes с поддержкой Azure Arc.

GitOps для Kubernetes с поддержкой Arc

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

Агент, работающий в кластере Kubernetes, отслеживает состояние репозитория. При изменении конфигурации агент извлекает обновленные файлы в кластер и применяет новую конфигурацию, гарантируя, что кластер остается в требуемом состоянии.

Кластеры Kubernetes с поддержкой Azure Arc используют Flux, популярный оператор развертывания GitOps с открытым исходным кодом, который автоматизирует развертывания конфигурации в кластере. Flux поддерживает распространенные источники файлов, такие как репозитории Git, репозитории Helm и контейнеры, а также поддерживают типы шаблонов конфигурации YAML, Helm и Kustomize.

На следующей схеме показан поток GitOps, использующий Flux для развертывания конфигураций кластера и обновлений приложений.

Diagram of the GitOps flow showing an application update.

Настройка GitOps

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

На следующей схеме показан процесс применения конфигураций на основе GitOps к нескольким кластерам с поддержкой Azure Arc.

Diagram showing the process of applying GitOps-based configuration to multiple Azure Arc-enabled clusters.

GitOps подключаются в кластере Kubernetes в качестве ресурса расширения кластера Microsoft.KubernetesConfiguration/extensions/microsoft.flux. Чтобы создать fluxConfigurations, microsoft.flux расширение должно быть установлено в кластере. Расширение устанавливается автоматически при создании первого Microsoft.KubernetesConfiguration/fluxConfigurations экземпляра в кластере. Вы также можете установить расширение вручную перед созданием конфигураций.

Каждая связь между конфигурацией кластера Kubernetes с поддержкой Azure Arc и соответствующим репозиторием GitOps находится в Azure в составе ресурса Azure Kubernetes с поддержкой Azure Arc. Связь можно настроить с помощью интерфейсов управления Azure, таких как портал Azure или Azure CLI.

Используйте следующие высокоуровневые шаги для реализации GitOps с кластером Kubernetes с поддержкой Azure Arc.

  1. Используйте расширение Azure CLI k8s-configuration, чтобы применить конфигурацию Flux и включить GitOps в кластере Kubernetes с поддержкой Azure Arc.
  2. Проверьте конфигурацию, чтобы подтвердить успешное создание. Ресурсы конфигурации обновляются с состоянием соответствия, сообщениями и сведениями об отладке.

После применения конфигурации можно использовать портал Azure для просмотра сведений о соответствии. Вы также можете использовать портал Azure для создания, обновления и удаления конфигураций GitOps.

Автоматизация конфигурации с помощью Политика Azure

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

Создание назначения Политика Azure в портал Azure состоит из следующих высокоуровневых шагов:

  1. В портал Azure просмотрите все определения политик, найдите и выберите политику, а затем выберите определения в меню слева на странице "Политика".
  2. Найдите кластеры Kubernetes с указанной конфигурацией GitOps и выберите одно из встроенных определений политик.
  3. Выберите "Назначить" и создайте назначение политики, указав параметры для область, параметров и исправления.
  4. Выберите Проверить и создать, а затем выберите Создать.

Назначение политики автоматически включает GitOps для каждого кластера Kubernetes с поддержкой Azure Arc, созданного в область назначения. Для существующих кластеров необходимо вручную запустить задачу исправления.

Дополнительные сведения о Политика Azure вы узнаете в следующем уроке.