使用 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 原則,選取內建的原則定義,並建立原則指派。 建立原則指派時:
- 設定指派的範圍。
- 範圍將是訂用帳戶或管理群組或特定資源群組中的所有資源群組。
- 設定將建立的 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
權限
建立原則指派
- 在Azure 入口網站中,瀏覽至 [原則]。
- 在資訊看板的 [編寫] 區段中,選取 [定義]。
- 在 [Kubernetes] 類別中,選擇 [使用未使用祕密的指定 GitOps 設定,設定 Kubernetes 叢集] 內建原則定義。
- 選取指派。
- 將 [範圍] 設定為要套用原則指派的管理群組、訂用帳戶或資源群組。
- 如果您想要從原則範圍中排除任何資源,則設定 [排除]。
- 為原則指派提供容易識別的名稱和描述。
- 確定已將 [原則強制執行] 設定為 [已啟用]。
- 選取 [下一步]。
- 設定建立
sourceControlConfigurations
資源時要使用的參數值。- 如需參數的詳細資訊,請參閱部署 GitOps 設定的教學課程。
- 選取 [下一步]。
- 啟用 [建立補救工作]。
- 確認已核取 [建立受控識別],而且該身分識別將擁有參與者權限。
- 如需詳細資訊,請參閱建立原則指派快速入門和使用 Azure 原則發行項補救不相容的資源。
- 選取 [檢閱 + 建立]。
建立原則指派之後,設定會套用至原則指派範圍內建立的新已啟用 Azure Arc 的 Kubernetes 叢集。
針對現有叢集,您可以必須手動執行補救工作。 這項工作通常需要 10 至 20 分鐘的時間,原則指派才會生效。
驗證原則指派
- 在Azure 入口網站中,瀏覽至其中一個已啟用 Azure Arc 的 Kubernetes 叢集。
- 在資訊看板的 [設定] 區段中,選取 [原則]。
- 在清單中,您應該會看到您先前所建立的原則指派,而且合規性狀態設定為「符合規範」。
- 在資訊看板的 [設定] 區段中,選取 [GitOps]。
- 在設定清單中,您應該會看到原則指派所建立的設定。
- 在資訊看板的 [Kubernetes 資源] 區段中,選取 [命名空間] 和 [工作負載]。
- 您應該會看到 Flux 設定所建立的命名空間和成品。
- 您應該會在叢集上部署的 Git 存放庫中看到資訊清單所描述的物件。