多集群應用控制臺可以簡化多集群應用編排(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。