共用方式為


使用 Flux v2 組態和 Azure 原則,以一致的方式大規模部署應用程式

您可以使用 Azure 原則 在已啟用 Azure Arc 的 Kubernetes () 或 AKS (Microsoft.ContainerService/managedClusters) 叢集上大規模套用 Flux v2 組態(Microsoft.KubernetesConfiguration/fluxConfigurationsMicrosoft.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 擴充功能設定安裝指派給所需的範圍。

  1. 在Azure 入口網站中,瀏覽至 [原則]
  2. 在資訊看板的 [編寫] 區段中,選取 [定義]
  3. 尋找在 Kubernetes 叢集 內建原則定義上設定 Flux 擴充功能的安裝,然後加以選取。
  4. 選取 [指派原則]
  5. 將 [範圍] 設定為要套用原則指派的管理群組、訂用帳戶或資源群組。
    • 如果您想要從原則範圍中排除任何資源,則設定 [排除]
  6. 為原則指派提供容易識別的 [指派名稱] 和 [描述]
  7. 確定已將 [原則強制執行] 設定為 [已啟用]
  8. 選取 [檢閱 + 建立],然後選取 [建立]

建立原則指派以套用 Flux 組態

接下來,返回 [定義] 清單 (在 [原則] 的 [撰寫] 區段中),將設定原則定義套用至相同的範圍。

  1. 使用公用 Git 存放庫內建原則定義,或套用 Flux 設定的其他其中一個原則定義,尋找並選取使用 Flux v2 設定的 Kubernetes 叢集。

  2. 選取 [指派原則]

  3. 將 [範圍] 設定為您在指派第一個原則時選取的相同範圍,包括任何排除項目。

  4. 為原則指派提供容易識別的 [指派名稱] 和 [描述]

  5. 確定已將 [原則強制執行] 設定為 [已啟用]

  6. 選取 [下一步 ] 以開啟 [ 參數] 索引標籤。

  7. 使用原則定義中的參數名稱,設定要使用的參數值。

    • 如需參數的詳細資訊,請參閱 GitOps (Flux v2) 支援的參數
    • 透過原則建立 Flux 組態時,您必須提供下列其中一個參數的值:repositoryRefBranch、、repositoryRefTagrepositoryRefSemverrepositoryRefCommit
  8. 選取 [下一步] 以開啟 [補救] 工作。

  9. 啟用 [建立補救工作]

  10. 確認已核取 [建立受控識別],並在 [許可權] 區段中列出該參與者。 如需詳細資訊,請參閱快速入門:建立原則指派以識別不符合規範的資源使用 Azure 原則補救不符合規範的資源

  11. 選取 [檢閱 + 建立],然後選取 [建立]

然後,設定會套用至原則指派範圍內建立的新叢集。

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

驗證原則指派

  1. 在 Azure 入口網站 中,流覽至原則指派範圍內已啟用 Azure Arc 的 Kubernetes 或 AKS 叢集。
  2. 在服務功能表中的 [設定] 底下,選取 [GitOps]。 在 [ 組態 ] 列表中,您應該會看到原則指派所建立的組態。
  3. 在服務功能表中的 [Kubernetes 資源] 下,選取 [命名空間]。 您應該會看到 Flux 設定所建立的命名空間。

自訂原則

內建原則涵蓋在 Kubernetes 叢集中搭配 Flux v2 使用 GitOps 的主要案例。 不過,由於 Azure 原則 指派中允許的 20 個參數的限制,並非所有參數都包含在內建原則中。 此外,若要符合這個 20 個參數的限制,只能使用內建原則來建立單一 kustomization。

如果您有不同於內建原則的案例,您可以使用內建原則作為範本來建立 自定義原則 來克服這些限制。 若要解決 20 個參數的限制,請建立自定義原則,只包含您需要的參數,並將其餘參數硬式編碼。

下一步