多叢集應用控制台可以簡化多叢集應用編排(ArgoCD ApplicationSet),它可以基於單一應用編排並根據您的編排內容自動產生一個或多個應用。本文介紹如何使用ACK One控制台建立多叢集應用。
前提條件
已開啟艦隊管理功能。具體操作,請參見開啟艦隊管理功能。
已為艦隊執行個體添加多個關聯集群。具體操作,請參見添加關聯集群。
已登入GitOps系統。具體操作,請參見登入GitOps系統。
操作步驟
登入ACK One控制台,在左側導覽列選擇 。
在多叢集應用頁面左上方,單擊艦隊名稱後的按鈕,在下拉式清單中選擇目標艦隊。
單擊
進入建立多叢集應用 - GitOps頁面。在快捷建立頁簽,可根據以下配置資訊,填寫相關內容。
配置項
說明
樣本
多叢集應用集名稱
應用程式的名稱。
appset-echo-server-demo
專案
應用程式對應的專案。
default
原始碼地址
應用程式對應的原始碼地址。
Git分支
應用程式的Git分支。
main
路徑
應用程式定義的YAML檔案Git倉庫中的相對路徑。
manifests/helm/echo-server
目的地組群
應用程式部署的目的地組群,此處若不指定目的地組群,則自動設定為ArgoCD中除in-cluster(艦隊,ArgoCD所在叢集)外的所有叢集。
命名空間
應用部署叢集內所在命名空間。
demo
Application名稱
應用程式名稱,預設可選以下參數:
{{.name}}
{{.metadata.annotations.cluster_name}}
{{.metadata.annotations.cluster_id}}
{{.metadata.annotations.cluster_id}}-echoserver
進階配置
同步策略(應用集)
PRESERVE RESOURCES ON DELETION:勾選此配置後,刪除此應用集時將保留應用的子資源。
同步策略(應用)
Manual:手動同步。
Automatic:自動同步。
PRUNE RESOURCES:勾選此配置後,當叢集上的資源在Git倉庫中找不到對應的配置時,自動刪除叢集上的該資源。
SELF HEAL:勾選此配置後,自動將實際狀態與Git倉庫的期望狀態同步。防止叢集資源狀態因手動修改等原因與Git倉庫不匹配。
需要同步的參數及其說明如下表所示:
參數
說明
SKIP SCHEMA VALIDATION
是否執行資源標準格式的校正,相當於
"kubectl apply --validate=true|false"
,預設為true。AUTO-CREATE NAMESPACE
自動建立缺失的名稱空間。
PRUNE LAST
在同步操作的最後再執行修剪操作,即使資源已經部署且轉為健康狀態後再進行Prune。
APPLY OUT OF SYNC ONLY
僅對那些處於OutOfSync狀態的資源執行同步操作,可以加速同步過程。
RESPECT IGNORE DIFFERENCES
在同步階段忽略期望狀態的欄位。
SERVER-SIDE APPLY
啟用Kubernetes Server-Side Apply。如果資源太大,無法容納允許的注釋大小,或者需要修補叢集上未完全由Argo CD管理的現有資源,或者使用更具聲明性的方法跟蹤使用者的欄位管理,則使用伺服器端應用。
REPLACE
對資源的修改,以replace方式進行,而非預設的apply,即先刪除後建立,而apply以補丁方式覆蓋更新。
RETRY
配置允許您指定在同步失敗後的重試次數、稍候再試以及稍候再試的遞增策略。
關於同步選項的詳細資料,請參見Argo CD Sync Options。
若快捷建立方式無法滿足您需求,您也可選擇YAML建立頁簽,根據樣本資訊填寫相關內容。
說明快捷建立可以和YAML建立進行聯動,改動會映射到YAML建立的YAML內容上。
配置完成後,單擊確定,可在多叢集應用頁面查看對應狀態。
單擊目標應用名稱對應Application的數字,可查看多叢集應用建立出來的Application概要資訊,單擊Application名稱可跳轉至ArgoCD UI。