ACK One GitOps提供高可用模式运行Argo CD。默认模式只启动1个单副本Deployment;高可用模式会运行4个Deployment(其中argocd-server为2副本),确保Argo CD各组件资源充足,并对各组件参数进行调优。本文为您介绍如何使用GitOps的高可用模式。
当您的关联集群数量超过20个或Application数量超过200个,建议您使用GitOps高可用模式来发布应用。
高可用模式适合Application数量在2000个以内的场景,若您Application数量超过2000个,并出现性能问题,请提交工单联系容器服务团队。也可加入钉钉群(钉钉群号:35688562)进行反馈。
计费说明
默认模式,GitOps会产生1个2核 4 GB的ECI费用,具体计费信息,请参见弹性容器实例计费概述。
高可用模式,GitOps会产生4个2核 4 GB+1个4核8 GB的ECI费用,以及PrivateZone的费用。具体计费信息,请参见弹性容器实例计费概述和PrivateZone产品计费。
前提条件
已开启舰队管理功能。具体操作,请参见开启舰队管理功能。
已在ACK One Fleet实例中开启GitOps。具体操作,请参见在ACK One Fleet实例中开启GitOps。当前ACK One为默认开启GitOps。
已在ACK One控制台为账号授予AliyunAdcpServerlessKubernetesRole角色权限。
重要如果当前登录的是RAM用户(子账号),则需要阿里云账号(主账号)额外再给RAM用户授予RAM的GerRole的权限,或者添加权限策略AliyunRAMReadOnlyAccess,否则无法正常使用控制台。
开启GitOps高可用模式
执行以下命令,为ACK One舰队开启GitOps高可用模式。
aliyun adcp UpdateHubClusterFeature --ClusterId <YOUR-FLEET-ID> --ArgoCDEnabled true --ArgoCDHAEnabled true
执行以下命令,查看高可用模式是否开启成功。
aliyun adcp DescribeHubClusterDetails --ClusterId <your-fleet-id> |grep -B3 -A2 HA
预期输出如下:
HAEnabled
为true
表示开启成功。"ACKOne": { "GitOps": { "Enabled": true, "HAEnabled": true } }
关闭GitOps高可用模式
执行以下命令,为ACK One舰队关闭GitOps高可用模式。
aliyun adcp UpdateHubClusterFeature --ClusterId <YOUR-FLEET-ID> --ArgoCDEnabled true --ArgoCDHAEnabled false
删除PrivateZone解析记录。
登录PrivateZone控制台,在内网DNS解析 (PrivateZone)页面的用户域名列表中,找到格式为
svc.cluster.local.<fleet-id>
的域名记录,删除其中所有以.argocd
为后缀的解析记录。