Последовательное развертывание приложений с помощью конфигураций 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 требуемому область.

  1. На портале Azure перейдите к разделу Политика.
  2. В разделе Разработка на боковой панели выберите Определения.
  3. В категории "Kubernetes" выберите установку расширения Flux в кластере Kubernetes, встроенное определение политики.
  4. Выберите Назначить.
  5. Задайте в качестве области группу управления, подписку или группу ресурсов, к которой будет применяться назначение политики.
    • Если требуется исключить какие-либо ресурсы из области назначения политики, задайте исключения.
  6. Присвойте назначению политики легко идентифицируемое имя назначения и описание.
  7. Для параметра Применение политик должно быть обязательно задано значение Включено.
  8. Выберите Проверить и создать, а затем выберите Создать.

Создание назначения политики для применения конфигураций Flux

Затем вернитесь к списку определенийразделе "Разработка политики") для применения определения политики конфигурации к той же область.

  1. В категории "Kubernetes" выберите кластеры Kubernetes с конфигурацией Flux версии 2 с помощью встроенного определения политики общедоступного репозитория Git или одного из других определений политик для применения конфигураций Flux.

  2. Выберите Назначить.

  3. Задайте область той же область, которую вы выбрали при назначении первой политики, включая все исключения.

  4. Присвойте назначению политики легко идентифицируемое имя назначения и описание.

  5. Для параметра Применение политик должно быть обязательно задано значение Включено.

  6. Нажмите кнопку "Далее", а затем нажмите кнопку "Далее", чтобы открыть вкладку "Параметры".

  7. Задайте используемые значения параметров.

    • Дополнительные сведения о параметрах см. в руководстве по развертыванию конфигураций Flux версии 2.
    • При создании конфигураций Flux необходимо указать значение для одного (и только одного) этих параметров: repositoryRefBranch, repositoryRefTag, repositoryRefSemver. repositoryRefCommit
  8. Нажмите кнопку "Рядом " , чтобы открыть задачу исправления .

  9. Включите параметр Создание задачи исправления.

  10. Убедитесь, что создание управляемого удостоверения проверка и что удостоверение имеет разрешения участника. Дополнительные сведения см. в кратком руководстве по созданию назначения политики для выявления несоответствующих ресурсов и исправления несоответствующих ресурсов с помощью Политика Azure.

  11. Выберите Проверить и создать, а затем выберите Создать.

Затем конфигурация применяется к новым кластерам Kubernetes с поддержкой Azure Arc или AKS, созданным в область назначения политики.

Для существующих кластеров может потребоваться вручную запустить задачу исправления. Как правило, назначение политики вступает в силу в течение 10–20 минут.

Проверка назначения политики

  1. В портал Azure перейдите к одному из кластеров Kubernetes с поддержкой Azure Arc или AKS.

  2. В разделе Параметры на боковой панели выберите GitOps.

    В списке конфигураций находится конфигурация, созданную назначением политики.

  3. В разделе ресурсов Kubernetes боковой панели выберите пространства имен и рабочие нагрузки.

    Вы должны увидеть пространство имен и артефакты, созданные конфигурацией Flux. Вы также должны увидеть объекты, описанные манифестами в репозитории Git, развернутом в кластере.

Настройка политики

Встроенные политики охватывают основные сценарии использования GitOps с Flux версии 2 в кластерах Kubernetes. Однако из-за ограничений количества параметров, разрешенных в Политика Azure назначениях (максимум 20), в встроенных политиках присутствуют не все параметры. Кроме того, чтобы соответствовать ограничению 20 параметров, можно создать только одну kustomization со встроенными политиками.

Если у вас есть сценарий, который отличается от встроенных политик, можно преодолеть ограничения, создав настраиваемые политики с помощью встроенных политик в качестве шаблонов. Вы можете создавать пользовательские политики, содержащие только необходимые параметры, и жестко закодив остальные, поэтому работая вокруг ограничения 20 параметров.

Следующие шаги