Последовательное развертывание приложений с помощью конфигураций Flux версии 2 и Политика Azure
Вы можете использовать Политика Azure для применения конфигураций Flux версии 2 (Microsoft.KubernetesConfiguration/fluxConfigurations
типа ресурсов) в масштабе кластеров Kubernetes с поддержкой Azure Arc (Microsoft.Kubernetes/connectedClusters
) или AKS (Microsoft.ContainerService/managedClusters
). Чтобы использовать Политика Azure, выберите встроенное определение политики и создадите назначение политики.
Перед назначением политики, которая создает конфигурации Flux, необходимо убедиться, что расширение Flux развертывается в кластерах. Это можно сделать, сначала назначив политику, которая развертывает расширение для всех кластеров в выбранной области (все группы ресурсов в подписке или группе управления или определенные группы ресурсов). Затем при создании назначения политики для развертывания конфигураций необходимо задать параметры конфигурации Flux, которая будет применена к кластерам в этой области.
Чтобы включить разделение проблем, можно создать несколько назначений политик, каждая из которых имеет другую конфигурацию Flux версии 2, указывающую на другой источник. Например, один репозиторий Git можно использовать администраторами кластера, а другие репозитории могут использоваться командами приложений.
Встроенные определения политик
Следующие встроенные определения политик обеспечивают поддержку следующих сценариев:
Description | Политика |
---|---|
Установка расширения Flux (требуется для всех сценариев) | Configure installation of Flux extension on Kubernetes cluster |
Конфигурация Flux с помощью общедоступного репозитория Git (обычно это тестовый сценарий) | Configure Kubernetes clusters with Flux v2 configuration using public Git repository |
Конфигурация Flux с помощью частного репозитория Git с проверкой подлинности SSH | Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets |
Конфигурация Flux с помощью частного репозитория Git с проверкой подлинности HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets |
Конфигурация Flux с помощью частного репозитория Git с проверкой подлинности сертификата ЦС HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate |
Конфигурация Flux с помощью частного репозитория Git с локальным секретом K8s | Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets |
Конфигурация Flux с использованием частного источника контейнера и секретов KeyVault | Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault |
Конфигурация Flux с использованием частного источника контейнера и локального секрета K8s | Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets |
Чтобы найти все определения политики Flux версии 2, найдите flux. Дополнительные сведения см . в встроенных определениях политики Azure для Kubernetes с поддержкой Azure Arc.
Необходимые компоненты
- Один или несколько кластеров Kubernetes с поддержкой Arc и (или) AKS.
Microsoft.Authorization/policyAssignments/write
разрешения на область (подписку или группу ресурсов), в которой вы создадите назначения политик.
Создание назначения политики для установки расширения Flux
Чтобы политика применяла конфигурации Flux версии 2 к кластеру, необходимо сначала установить расширение Flux в кластере. Чтобы убедиться, что расширение установлено для каждого кластера, назначьте установку расширения Flux в определении политики кластерной политики Kubernetes требуемой области.
- На портале Azure перейдите к разделу Политика.
- В разделе Разработка на боковой панели выберите Определения.
- В категории "Kubernetes" выберите установку расширения Flux в кластере Kubernetes, встроенное определение политики.
- Выберите Назначить.
- Задайте в качестве области группу управления, подписку или группу ресурсов, к которой будет применяться назначение политики.
- Если требуется исключить какие-либо ресурсы из области назначения политики, задайте исключения.
- Присвойте назначению политики легко идентифицируемое имя назначения и описание.
- Для параметра Применение политик должно быть обязательно задано значение Включено.
- Выберите Проверить и создать, а затем выберите Создать.
Создание назначения политики для применения конфигураций Flux
Затем вернитесь к списку определений (в разделе "Разработка политики"), чтобы применить определение политики конфигурации к той же области.
В категории "Kubernetes" выберите кластеры Kubernetes с конфигурацией Flux версии 2 с помощью встроенного определения политики общедоступного репозитория Git или одного из других определений политик для применения конфигураций Flux.
Выберите Назначить.
Задайте область для той же области, которую вы выбрали при назначении первой политики, включая все исключения.
Присвойте назначению политики легко идентифицируемое имя назначения и описание.
Для параметра Применение политик должно быть обязательно задано значение Включено.
Нажмите кнопку "Далее", а затем нажмите кнопку "Далее", чтобы открыть вкладку "Параметры".
Задайте используемые значения параметров.
- Дополнительные сведения о параметрах см. в руководстве по развертыванию конфигураций Flux версии 2.
- При создании конфигураций Flux необходимо указать значение для одного (и только одного) этих параметров:
repositoryRefBranch
,repositoryRefTag
,repositoryRefSemver
.repositoryRefCommit
Нажмите кнопку "Рядом " , чтобы открыть задачу исправления .
Включите параметр Создание задачи исправления.
Убедитесь, что установлен флажок "Создать управляемое удостоверение", и убедитесь, что удостоверение имеет разрешения участника. Дополнительные сведения см. в кратком руководстве по созданию назначения политики для выявления несоответствующих ресурсов и исправления несоответствующих ресурсов с помощью Политика Azure.
Выберите Проверить и создать, а затем выберите Создать.
Затем конфигурация применяется к новым кластерам Kubernetes с поддержкой Azure Arc или AKS, созданным в области назначения политики.
Для существующих кластеров может потребоваться вручную запустить задачу исправления. Как правило, назначение политики вступает в силу в течение 10–20 минут.
Проверка назначения политики
В портал Azure перейдите к одному из кластеров Kubernetes с поддержкой Azure Arc или AKS.
В разделе Параметры на боковой панели выберите GitOps.
В списке конфигураций находится конфигурация, созданную назначением политики.
В разделе ресурсов Kubernetes боковой панели выберите пространства имен и рабочие нагрузки.
Вы должны увидеть пространство имен и артефакты, созданные конфигурацией Flux. Вы также должны увидеть объекты, описанные манифестами в репозитории Git, развернутом в кластере.
Настройка политики
Встроенные политики охватывают основные сценарии использования GitOps с Flux версии 2 в кластерах Kubernetes. Однако из-за ограничений количества параметров, разрешенных в Политика Azure назначениях (максимум 20), в встроенных политиках присутствуют не все параметры. Кроме того, чтобы соответствовать ограничению 20 параметров, можно создать только одну kustomization со встроенными политиками.
Если у вас есть сценарий, который отличается от встроенных политик, можно преодолеть ограничения, создав настраиваемые политики с помощью встроенных политик в качестве шаблонов. Вы можете создавать пользовательские политики, содержащие только необходимые параметры, и жестко закодив остальные, поэтому работая вокруг ограничения 20 параметров.
Следующие шаги
- Настройте Azure Monitor для контейнеров с помощью кластеров Kubernetes с поддержкой Azure Arc.
- Дополнительные сведения о развертывании приложений с помощью GitOps с Flux версии 2.