使用 GitOps 設定已啟用 Azure Arc 的 Kubernetes 叢集

已完成

Azure Arc 的主要優點之一,是有助於推動 DevOps 準則的實作,將已建立的開發實務套用至作業。 DevOps 可提高靈活度,且不損及 IT 環境的穩定性。

已啟用 Azure Arc 的 Kubernetes 支援 GitOps,這是一種 DevOps 實務做法,可藉由減少手動部署工作來簡化應用程式發行。

在此單元中,您將了解 GitOps,以及如何為已啟用 Azure Arc 的 Kubernetes 叢集加以設定。

已啟用 Arc 的 Kubernetes 適用的 GitOps

GitOps 可協助您將整個組織的 Kubernetes 設定標準化,包括已啟用 Arc 的 Kubernetes。 存放庫或其他檔案來源會裝載代表資源預期狀態的組態檔。 例如,基準設定可能包含委派模型、監視和記錄設定,以及全叢集服務的特性。

在 Kubernetes 叢集上執行的代理程式會監視存放庫的狀態。 設定有所變更時,代理程式會將更新的檔案提取至叢集,並套用新的設定,以確定叢集會保持在所需的狀態。

已啟用 Azure Arc 的 Kubernetes 叢集依賴 Flux,這是一家受歡迎的開放原始碼 GitOps 部署營運商,可將設定自動部署至叢集。 Flux 支援常見的檔案來源,例如 Git 存放庫、Helm 存放庫和貯體,並支援 YAML、Helm 與 Kustomize 設定範本類型。

下圖顯示使用 Flux 部署叢集設定和應用程式更新的 GitOps 流程。

Diagram of the GitOps flow showing an application update.

設定 GitOps

GitOps 會將已啟用 Arc 的 Kubernetes 叢集與一或多個檔案來源 (例如 Git 存放庫) 產生關聯。 每個存放庫均可包含任何有效 Kubernetes 資源 (例如,資訊清單檔形式的命名空間或部署) 的設定。

下圖顯示將以 GitOps 為基礎的設定套用至多個「已啟用 Azure Arc 的叢集」的程序。

Diagram showing the process of applying GitOps-based configuration to multiple Azure Arc-enabled clusters.

GitOps 會作為 Microsoft.KubernetesConfiguration/extensions/microsoft.flux 叢集擴充功能資源,在 Kubernetes 叢集中啟用。 若要建立 fluxConfigurations,必須在叢集中安裝 microsoft.flux 延伸模組。 當您在叢集中建立第一個 Microsoft.KubernetesConfiguration/fluxConfigurations 執行個體時,便會自動安裝此延伸模組。 您也可在建立設定之前手動安裝延伸模組。

已啟用 Azure Arc 的 Kubernetes 叢集設定與其對應的 GitOps 存放庫之間的每個關聯都會位於 Azure 中,成為已啟用 Azure Arc 的 Kubernetes 叢集 Azure 資源的一部分。 您可使用 Azure 管理介面 (例如 Azure 入口網站或 Azure CLI) 來設定該關聯。

使用下列高階步驟,對已啟用 Azure Arc 的 Kubernetes 叢集實作 GitOps。

  1. 使用 k8s-configuration Azure CLI 擴充功能來套用 Flux 設定,並在已啟用 Arc 的 Kubernetes 叢集中啟用 GitOps。
  2. 驗證設定以確認建立成功。 設定資源會使用合規性狀態、訊息和偵錯資訊進行更新。

套用設定後,您可以使用 Azure 入口網站來檢視合規性詳細資料。 您也可以使用 Azure 入口網站來建立、更新及刪除 GitOps 設定。

使用 Azure 原則自動執行設定

您可以使用 Azure 原則將設定程序自動化,以便一致且大規模地加以套用。 在指派原則以設定叢集之前,您必須先確定已在叢集上建立 Flux 延伸模組。 為此,您可以先指派設定 Kubernetes 叢集上的 Flux 延伸模組安裝原則定義,以確保會安裝延伸模組。

在 Azure 入口網站中建立 Azure 原則指派時,須執行下列高階步驟:

  1. 在 Azure 入口網站中,搜尋並選取 [原則] 以檢視所有原則定義,然後在 [原則] 頁面的左側功能表中選取 [定義]。
  2. 搜尋使用指定的 GitOps 設定進行 Kubernetes 叢集設定,然後選取其中一個內建原則定義。
  3. 選取 [指派],並指定範圍、參數和補救的設定,以建立原則指派。
  4. 選取 [檢閱 + 建立],然後選取 [建立]。

原則指派會為建立於指派範圍內的每個已啟用 Azure Arc 的 Kubernetes 叢集自動啟用 GitOps。 對於現有的叢集,您必須手動執行補救工作。

您將在下一個單元中深入了解 Azure 原則。