如何创建多集群应用

多集群应用控制台可以简化多集群应用编排(ArgoCD ApplicationSet),它可以基于单一应用编排并根据您的编排内容自动生成一个或多个应用。本文介绍如何使用ACK One控制台创建多集群应用。

前提条件

操作步骤

  1. 登录ACK One控制台,在左侧导航栏选择舰队 > 多集群应用

  2. 多集群应用页面左上角,单击舰队名称后的Dingtalk_20231226104633.jpg按钮,在下拉列表中选择目标舰队。

  3. 单击创建多集群应用 > GitOps进入创建多集群应用 - GitOps页面。

  4. 快捷创建页签,可根据以下配置信息,填写相关内容。

    配置项

    说明

    示例

    多集群应用集名称

    应用程序的名称。

    appset-echo-server-demo

    项目

    应用程序对应的项目。

    default

    源代码地址

    应用程序对应的源代码地址。

    https://github.com/AliyunContainerService/gitops-demo.git

    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

  5. 快捷创建方式无法满足您需求,您也可选择YAML创建页签,根据示例信息填写相关内容。

    说明

    快捷创建可以和YAML创建进行联动,改动会映射到YAML创建的YAML内容上。

  6. 配置完成后,单击确定,可在多集群应用页面查看对应状态4f94c85b2da653c00f17f6e3439ce9ce

  7. 单击目标应用名称对应Application的数字,可查看多集群应用创建出来的Application概要信息,单击Application名称可跳转至ArgoCD UI。cc83f3c5287d42465e7803337cd399d3