使用 Flux v2 組態和 Azure 原則,以一致的方式大規模部署應用程式
您可以使用 Azure 原則 在已啟用 Azure Arc 的 Kubernetes () 或 AKS (Microsoft.ContainerService/managedClusters
) 叢集上大規模套用 Flux v2 組態(Microsoft.KubernetesConfiguration/fluxConfigurations
Microsoft.Kubernetes/connectedClusters
資源類型)。 若要使用 Azure 原則,您可以選取內建原則定義並建立原則指派。
在您指派可建立 Flux 組態的原則之前,您必須確定 Flux 延伸模組已部署至叢集。 您可以指派原則,將擴充功能部署至所選範圍中的所有叢集(訂用帳戶或管理群組中的所有資源群組,或特定資源群組)。 然後,建立原則指派以部署組態時,您會設定要套用至該範圍內叢集的 Flux 組態參數。
若要分開考量,您可以建立多個原則指派,每個指派都有指向不同來源的不同 Flux v2 設定。 例如,叢集管理員可能會使用一個 Git 存放庫,而應用程式小組可能會使用其他存放庫。
內建原則定義
下列內建原則定義提供這些案例的支援:
描述 | 原則 |
---|---|
Flux 延伸模組安裝 (所有案例所需) | Configure installation of Flux extension on Kubernetes cluster |
使用公用 Git 存放庫的 Flux 組態 (通常是測試案例) | Configure Kubernetes clusters with Flux v2 configuration using public Git repository |
使用私人 Git 存放庫搭配 SSH 驗證的 Flux 組態 | Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets |
使用私人 Git 存放庫搭配 HTTPS 驗證的 Flux 組態 | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets |
使用私人 Git 存放庫搭配 HTTPS CA 憑證驗證的 Flux 組態 | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate |
使用私人 Git 存放庫搭配本機 K8s 祕密的 Flux 組態 | Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets |
使用私人貯體來源和 KeyVault 祕密的 Flux 組態 | Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault |
使用私人貯體來源和本機 K8s 祕密的 Flux 組態 | Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets |
若要尋找所有 Flux v2 原則定義,請搜尋 flux。 如需詳細資訊,請參閱已啟用 Azure Arc 的 Kubernetes 的 Azure 原則內建定義。
必要條件
- 一或多個已啟用 Arc 的 Kubernetes 叢集和/或 AKS 叢集。
Microsoft.Authorization/policyAssignments/write
在範圍 (訂用帳戶或資源群組) 上的許可權,以建立原則指派。
建立原則指派以安裝 Flux 延伸模組
為了讓原則將 Flux v2 組態套用至叢集,Flux 延伸模組必須先安裝在叢集上。 若要確保擴充功能安裝在每個叢集上,請將 Kubernetes 叢集原則定義的 Flux 擴充功能設定安裝指派給所需的範圍。
- 在Azure 入口網站中,瀏覽至 [原則]。
- 在資訊看板的 [編寫] 區段中,選取 [定義]。
- 尋找在 Kubernetes 叢集 內建原則定義上設定 Flux 擴充功能的安裝,然後加以選取。
- 選取 [指派原則]。
- 將 [範圍] 設定為要套用原則指派的管理群組、訂用帳戶或資源群組。
- 如果您想要從原則範圍中排除任何資源,則設定 [排除]。
- 為原則指派提供容易識別的 [指派名稱] 和 [描述]。
- 確定已將 [原則強制執行] 設定為 [已啟用]。
- 選取 [檢閱 + 建立],然後選取 [建立]。
建立原則指派以套用 Flux 組態
接下來,返回 [定義] 清單 (在 [原則] 的 [撰寫] 區段中),將設定原則定義套用至相同的範圍。
使用公用 Git 存放庫內建原則定義,或套用 Flux 設定的其他其中一個原則定義,尋找並選取使用 Flux v2 設定的 Kubernetes 叢集。
選取 [指派原則]。
將 [範圍] 設定為您在指派第一個原則時選取的相同範圍,包括任何排除項目。
為原則指派提供容易識別的 [指派名稱] 和 [描述]。
確定已將 [原則強制執行] 設定為 [已啟用]。
選取 [下一步 ] 以開啟 [ 參數] 索引標籤。
使用原則定義中的參數名稱,設定要使用的參數值。
- 如需參數的詳細資訊,請參閱 GitOps (Flux v2) 支援的參數。
- 透過原則建立 Flux 組態時,您必須提供下列其中一個參數的值:
repositoryRefBranch
、、repositoryRefTag
、repositoryRefSemver
repositoryRefCommit
。
選取 [下一步] 以開啟 [補救] 工作。
啟用 [建立補救工作]。
確認已核取 [建立受控識別],並在 [許可權] 區段中列出該參與者。 如需詳細資訊,請參閱快速入門:建立原則指派以識別不符合規範的資源和使用 Azure 原則補救不符合規範的資源。
選取 [檢閱 + 建立],然後選取 [建立]。
然後,設定會套用至原則指派範圍內建立的新叢集。
針對現有叢集,您必須手動執行補救工作。 這項工作通常需要 10 至 20 分鐘的時間,原則指派才會生效。
驗證原則指派
- 在 Azure 入口網站 中,流覽至原則指派範圍內已啟用 Azure Arc 的 Kubernetes 或 AKS 叢集。
- 在服務功能表中的 [設定] 底下,選取 [GitOps]。 在 [ 組態 ] 列表中,您應該會看到原則指派所建立的組態。
- 在服務功能表中的 [Kubernetes 資源] 下,選取 [命名空間]。 您應該會看到 Flux 設定所建立的命名空間。
自訂原則
內建原則涵蓋在 Kubernetes 叢集中搭配 Flux v2 使用 GitOps 的主要案例。 不過,由於 Azure 原則 指派中允許的 20 個參數的限制,並非所有參數都包含在內建原則中。 此外,若要符合這個 20 個參數的限制,只能使用內建原則來建立單一 kustomization。
如果您有不同於內建原則的案例,您可以使用內建原則作為範本來建立 自定義原則 來克服這些限制。 若要解決 20 個參數的限制,請建立自定義原則,只包含您需要的參數,並將其餘參數硬式編碼。