使用 Azure 原則大規模套用 Flux v1 設定

您可以使用 Azure 原則,在已啟用 Azure Arc 的 Kubernetes叢集 (Microsoft.Kubernetes/connectedclusters) 上大規模套用 Flux v1 設定 (Microsoft.KubernetesConfiguration/sourceControlConfigurations 資源類型)。

重要

本文適用於具有 Flux v1 的 GitOps。 具有 Flux v2 的 GitOps 現在可用於已啟用 Azure Arc 的 Kubernetes 和 Azure Kubernetes Service (AKS) 叢集;了解如何將 Azure 原則與 Flux v2 結合使用。 建議您儘快移轉至 Flux v2

在 2024 年 1 月 1 日之前建立的 Flux v1 型叢集設定資源支援,將於 2025 年 5 月 24 日結束。 從 2024 年 1 月 1 日起,您將無法建立新的 Flux v1 型叢集設定資源。

若要使用 Azure 原則,選取內建的原則定義,並建立原則指派。 建立原則指派時:

  1. 設定指派的範圍。
    • 範圍將是訂用帳戶或管理群組或特定資源群組中的所有資源群組。
  2. 設定將建立的 GitOps 設定參數。

建立指派之後,Azure 原則引擎會識別範圍內所有已啟用 Azure Arc 的 Kubernetes 叢集,並將 GitOps 設定套用至每個叢集。

若要分開考量,您可以建立多個原則指派,每個指派都有指向不同 Git 存放庫的不同 GitOps 設定。 例如,叢集管理員可能會使用一個存放庫,而應用程式小組可能會使用其他存放庫。

提示

這些案例有內建的原則定義:

  • 具有 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 入口網站中,瀏覽至 [原則]
  2. 在資訊看板的 [編寫] 區段中,選取 [定義]
  3. 在 [Kubernetes] 類別中,選擇 [使用未使用祕密的指定 GitOps 設定,設定 Kubernetes 叢集] 內建原則定義。
  4. 選取指派
  5. 將 [範圍] 設定為要套用原則指派的管理群組、訂用帳戶或資源群組。
    • 如果您想要從原則範圍中排除任何資源,則設定 [排除]
  6. 為原則指派提供容易識別的名稱描述
  7. 確定已將 [原則強制執行] 設定為 [已啟用]
  8. 選取 [下一步]。
  9. 設定建立 sourceControlConfigurations 資源時要使用的參數值。
  10. 選取 [下一步]。
  11. 啟用 [建立補救工作]
  12. 確認已核取 [建立受控識別],而且該身分識別將擁有參與者權限。
  13. 選取 [檢閱 + 建立]。

建立原則指派之後,設定會套用至原則指派範圍內建立的新已啟用 Azure Arc 的 Kubernetes 叢集。

針對現有叢集,您可以必須手動執行補救工作。 這項工作通常需要 10 至 20 分鐘的時間,原則指派才會生效。

驗證原則指派

  1. 在Azure 入口網站中,瀏覽至其中一個已啟用 Azure Arc 的 Kubernetes 叢集。
  2. 在資訊看板的 [設定] 區段中,選取 [原則]
    • 在清單中,您應該會看到您先前所建立的原則指派,而且合規性狀態設定為「符合規範」
  3. 在資訊看板的 [設定] 區段中,選取 [GitOps]
    • 在設定清單中,您應該會看到原則指派所建立的設定。
  4. 在資訊看板的 [Kubernetes 資源] 區段中,選取 [命名空間] 和 [工作負載]
    • 您應該會看到 Flux 設定所建立的命名空間和成品。
    • 您應該會在叢集上部署的 Git 存放庫中看到資訊清單所描述的物件。

下一步

使用已啟用 Azure Arc 的 Kubernetes 叢集設定適用於容器的 Azure 監視器