Поделиться через


Последовательное развертывание приложений с помощью конфигураций 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. Найдите установку расширения Flux в кластере Kubernetes, встроенное определение политики, и выберите его.
  4. Выберите " Назначить политику".
  5. Задайте в качестве области группу управления, подписку или группу ресурсов, к которой будет применяться назначение политики.
    • Если требуется исключить какие-либо ресурсы из области назначения политики, задайте исключения.
  6. Присвойте назначению политики легко идентифицируемое имя назначения и описание.
  7. Для параметра Применение политик должно быть обязательно задано значение Включено.
  8. Выберите Проверить и создать, а затем выберите Создать.

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

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

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

  2. Выберите " Назначить политику".

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

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

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

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

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

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

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

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

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

Затем конфигурация применяется к новым кластерам, созданным в области назначения политики.

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

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

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

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

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

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

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