Настройка кластеров 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 для развертывания конфигураций кластера и обновлений приложений.
Настройка GitOps
GitOps связывает кластер Kubernetes с одним или несколькими источниками файлов, например репозиторием Git. Каждый репозиторий может содержать конфигурации любых допустимых ресурсов Kubernetes, таких как пространства имен или развертывания в виде файлов манифеста.
На следующей схеме показан процесс применения конфигураций на основе GitOps к нескольким кластерам с поддержкой Azure Arc.
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.
- Используйте расширение Azure CLI
k8s-configuration
, чтобы применить конфигурацию Flux и включить GitOps в кластере Kubernetes с поддержкой Azure Arc. - Проверьте конфигурацию, чтобы подтвердить успешное создание. Ресурсы конфигурации обновляются с состоянием соответствия, сообщениями и сведениями об отладке.
После применения конфигурации можно использовать портал Azure для просмотра сведений о соответствии. Вы также можете использовать портал Azure для создания, обновления и удаления конфигураций GitOps.
Автоматизация конфигурации с помощью Политика Azure
Вы можете использовать Политика Azure для автоматизации процесса настройки, поэтому его можно применять согласованно в масштабе. Прежде чем назначить политику для настройки кластеров, необходимо убедиться, что расширение Flux создается в кластерах. Для этого сначала назначьте установку расширения Flux в определении политики кластерной политики Kubernetes, что гарантирует установку расширения.
Создание назначения Политика Azure в портал Azure состоит из следующих высокоуровневых шагов:
- В портал Azure просмотрите все определения политик, найдите и выберите политику, а затем выберите определения в меню слева на странице "Политика".
- Найдите кластеры Kubernetes с указанной конфигурацией GitOps и выберите одно из встроенных определений политик.
- Выберите "Назначить" и создайте назначение политики, указав параметры для область, параметров и исправления.
- Выберите Проверить и создать, а затем выберите Создать.
Назначение политики автоматически включает GitOps для каждого кластера Kubernetes с поддержкой Azure Arc, созданного в область назначения. Для существующих кластеров необходимо вручную запустить задачу исправления.
Дополнительные сведения о Политика Azure вы узнаете в следующем уроке.