Azure Policy を使用して Flux v1 構成を大規模に適用する

Azure Policy を使用して、Azure Arc 対応 Kubernetes クラスター (Microsoft.Kubernetes/connectedclusters) に Flux v1 構成 (リソースの種類は Microsoft.KubernetesConfiguration/sourceControlConfigurations) を大規模に適用できます。

重要

この記事は、Flux v1 を使用した GitOps 向けです。 Flux v2 による GitOps が Azure Arc 対応 Kubernetes と Azure Kubernetes Service (AKS) クラスターで使用できるようになりました。Flux v2 での Azure Policy の使用について説明します。 できるだけ早く Flux v2 に移行 することをお勧めします。

2024 年 1 月 1 日より前に作成された Flux v1 ベースのクラスター構成リソースのサポートは、2025 年 5 月 24 日に終了します。 2024 年 1 月 1 日から、新しい Flux v1 ベースのクラスター構成リソースを作成することはできません。

Azure Policy を使用するには、組み込みの GitOps ポリシー定義を選択して、ポリシーの割り当てを作成します。 ポリシー割り当てを作成する場合は、次の手順を実行します。

  1. 割り当てのスコープを設定します。
    • スコープは、サブスクリプションまたは管理グループ内のすべてのリソース グループ、または特定のリソース グループになります。
  2. 作成される GitOps 構成に対してパラメーターを設定します。

割り当てが作成されると、Azure Policy エンジンによって、スコープ内にあるすべての Azure Arc 対応 Kubernetes クラスターが識別され、各クラスターに GitOps 構成が適用されます。

懸念事項を分離できるようにするために、複数のポリシー割り当てを作成し、それぞれに異なる GitOps 構成を使用して、異なる Git リポジトリを指すことができます。 たとえば、1 つのリポジトリがクラスター管理者によって使用され、他のリポジトリはアプリケーション チームによって使用される場合があります。

ヒント

このようなシナリオ用に、組み込みのポリシー定義があります。

  • Flux によって作成された SSH キーがあるパブリック リポジトリまたはプライベート リポジトリ: Configure Kubernetes clusters with specified GitOps configuration using no secrets
  • ユーザー指定の SSH キーがあるプライベート リポジトリ: Configure Kubernetes clusters with specified GitOps configuration using SSH secrets
  • ユーザー指定の HTTPS キーがあるプライベート リポジトリ: Configure Kubernetes clusters with specified GitOps configuration using HTTPS secrets

前提条件

このポリシー割り当てを作成するスコープ (サブスクリプションまたはリソース グループ) に対する Microsoft.Authorization/policyAssignments/write アクセス許可があることをご確認ください。

ポリシー割り当てを作成する

  1. Azure portal で [ポリシー] に移動します。
  2. サイドバーの [作成] セクションで [定義] を選択します。
  3. "Kubernetes" カテゴリで、"シークレットを使用しないで、指定した GitOps 構成で Kubernetes クラスターを構成する" 組み込みポリシー定義を選択します。
  4. [割り当て] を選択します。
  5. [スコープ] を、ポリシー割り当てを適用する管理グループ、サブスクリプション、またはリソース グループに設定します。
    • ポリシー割り当てのスコープからリソースを除外する場合は、[除外] を設定します。
  6. ポリシー割り当てにわかりやすい [名前][説明] を指定します。
  7. [ポリシーの適用] が "有効" に設定されていることを確認します。
  8. [次へ] を選択します。
  9. sourceControlConfigurations リソースの作成時に使用されるパラメーター値を設定します。
  10. [次へ] を選択します。
  11. [修復タスクを作成する] を有効にします。
  12. [マネージド ID を作成します] がオンになっていること、および ID に共同作成者アクセス許可が付与されることを確認します。
  13. [Review + create](レビュー + 作成) を選択します。

ポリシー割り当てを作成すると、ポリシー割り当てのスコープ内で作成された新しい Azure Arc 対応 Kubernetes クラスターに構成が適用されます。

既存のクラスターに対しては、修復タスクを手動で実行する必要がある場合があります。 通常、このタスクには、ポリシー割り当てが有効になるまで 10 ~ 20 分かかります。

ポリシーの割り当てを確認する

  1. Azure portal で、Azure Arc 対応 Kubernetes クラスターのいずれかに移動します。
  2. サイドバーの [設定] セクションで、[ポリシー] を選択します。
    • 一覧に、前に作成した、[コンプライアンスの状態][準拠している] に設定されているポリシーの割り当てが表示されます。
  3. サイドバーの [設定] セクションで、[GitOps] を選択します。
    • 構成の一覧に、ポリシー割り当てによって作成された構成が表示されます。
  4. サイドバーの [Kubernetes リソース] セクションで、名前空間ワークロードを選択します。
    • Flux 構成によって作成された名前空間と成果物が表示されます。
    • Git リポジトリのマニフェストに記述されているオブジェクトがクラスターにデプロイされていることがわかります。

次のステップ

Azure Arc 対応 Kubernetes クラスターを使用して Azure Monitor for Containers を設定します