多集群应用控制台可以简化多集群应用编排(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。