共用方式為


使用 GitOps 和 Flux 進行遠端部署和 CI

本文說明如何將應用程式部署至已啟用Arc的AKS Edge Essentials 叢集。 步驟如下:

  1. 指向您的 GitHub 應用程式至 Azure 入口網站。
  2. 藉由安裝 GitOps 組態,將您的應用程式推送至 AKS Edge Essentials 叢集。
  3. 認可對 GitHub 應用程式的變更,並顯示您的應用程式會自動更新。

注意

請確定您已為 Linux VM 配置至少 4 GB 的 RAM 和 4 CPU,以及大於 0 的服務 IP 範圍。 視工作負載而定,您可能也需要比預設 10 GB 更大的磁碟空間。

步驟 1:分支示範應用程式存放庫

移至 Azure Arc Jumpstart 存放庫 ,並將其分支至您的 GitHub 帳戶。

步驟 2:建立設定

移至 Azure 入口網站 中的叢集,然後選取 [GitOps]。 接下來,建立叢集層級組態和命名空間層級組態。 選取 [建立] 和 [Flux 第 2 版]。

叢集層級設定

屬性 輸入
設定名稱 config-nginx
Namespace ingress-nginx
範圍 Cluster
來源種類 Git 存放庫
存放庫 URL <分支的 URL>
參考類型 分支
分行 main
存放庫類型 公開
同步處理間隔 1
同步處理逾時 10
Kustomization
執行個體名稱 nginx
路徑 ./nginx/release
同步處理間隔 10
同步處理逾時 10
剪除 已啟用
Force 未啟用

等到 config-nginx 成功建立並顯示在您的 Azure 入口網站 GitOps 上,再建立命名空間層級設定(如果合規性處於擱置狀態,您可以繼續建立下一個設定)。

顯示叢集層級設定的螢幕快照。

Namespace層級組態

屬性 輸入
設定名稱 config-helloarc
Namespace hello-arc
範圍 Namespace
來源種類 Git 存放庫
存放庫 URL <分支的 URL>
參考類型 分支
分行 main
存放庫類型 公開
同步處理間隔 1
同步處理逾時 10
Kustomization
執行個體名稱 app
路徑 ./hello-arc/releases/app
同步處理間隔 10
同步處理逾時 10
剪除 已啟用
Force 未啟用

顯示命名空間層級設定的螢幕快照。

重新整理您的組態數據表,並等候設定安裝並符合規範。 使用 kubectl,檢查服務是否正在執行:

kubectl get svc -n ingress-nginx
kubectl get pods -n hello-arc

顯示你好弧形服務的螢幕快照。

開啟網頁瀏覽器並瀏覽至您的節點 IP,也就是 external-IP 您的 ingress-nginx-controller節點 IP:

你好弧形應用程式成功的螢幕快照。

步驟 3:建立 Windows 設定(選擇性)

如果您有 Windows 節點,您也可以啟用 適用於 Windows 的 flux2你好-arc-windows 範例會使用你好弧形 Windows 容器。

提示

Windows 容器的大小大於Linux容器。 你好-arc-windows 容器的下載最多可能需要 15 分鐘的時間。

為 Windows 節點建立新的命名空間層級設定。

適用於 Windows 的Namespace層級設定

屬性 輸入
設定名稱 config-helloarc-windows
Namespace hello-arc
範圍 Namespace
來源種類 Git 存放庫
存放庫 URL <分支的 URL>
參考類型 分支
分行 main
存放庫類型 公開
同步處理間隔 1
同步處理逾時 10
Kustomization
執行個體名稱 app
路徑 ./hello-arc-windows/releases/app
同步處理間隔 10
同步處理逾時 10
剪除 已啟用
Force 未啟用

步驟 4:使用 GitOps 更新您的應用程式

  1. azure-arc-jumpstart-apps 存放庫的分支中,瀏覽至 hello-arc > 版本 > 應用程式 > hello-arc.yaml

  2. 選取 [編輯],以對此 YAML 檔案進行變更。 將 replicaCount 變更為 5。 將值變更為 「部署至 AKS Edge Essentials Gitops!

  3. 認可這項變更。

    注意

    因為我們在建立設定時將同步間隔設定為 1 分鐘,Flux會每分鐘從 GitHub 提取變更。

    顯示你好弧形 yaml 的螢幕快照。

  4. 用來 kubectl 查看舊的 Pod 終止,而新的 Pod 上線:

    kubectl get pods -n hello-arc -w
    

    顯示 Pod 滾動更新的螢幕快照。

  5. 重新整理您的應用程式,以查看此變更會反映為滾動更新:

    顯示已更新你好弧形應用程式的螢幕快照。

如需 GitOps 的詳細資訊,請參閱 Azure Arc Jumpstart 指南

下一步