ArgoCD 作为一款主流的 GitOps 持续交付工具,其强大之处在于能够通过添加远程集群的 Kubeconfig 或 Token 凭证,实现对多个 Kubernetes 集群的统一管理与应用部署,从而轻松应对跨集群的交付场景。
添加远程集群
要实现多集群管理,首先需要将目标集群的访问凭证(kubeconfig 文件)添加到你的本地环境中。许多开发者喜欢使用 kubecm 这类工具来管理多个上下文(context),你可以通过以下命令查看当前已有的上下文:
kubectl config get-contexts
目前,添加集群的操作需要通过 ArgoCD CLI 命令行工具来完成,Web UI 界面暂不支持此功能。首先,你需要登录到你的 ArgoCD 实例:
argocd login 10.218.191.10:32698 --username admin --password vC80AqMZsmZprDKm --insecure
登录成功后,使用 argocd cluster add 命令并指定目标集群的上下文名称即可添加集群:
argocd cluster add context-name
以下是一个在 Windows PowerShell 环境下的完整操作示例及输出:
PS E:\yaml\argocd> .\argocd.exe login 10.218.191.10:32698 --username admin --password vC80AqMZsmZprDKm --insecure
'admin:login' logged in successfully
Context '10.218.191.10:32698' updated
PS E:\yaml\argocd> .\argocd.exe cluster add ack-zb
WARNING: This will create a service account `argocd-manager` on the cluster referenced by context `ack-zb` with full cluster level privileges. Do you want to continue [y/N]? y
{"level":"info","msg":"ServiceAccount \"argocd-manager\" already exists in namespace \"kube-system\"","time":"2026-01-14T17:20:25+08:00"}
{"level":"info","msg":"ClusterRole \"argocd-manager-role\" updated","time":"2026-01-14T17:20:25+08:00"}
{"level":"info","msg":"ClusterRoleBinding \"argocd-manager-role-binding\" updated","time":"2026-01-14T17:20:25+08:00"}
{"level":"info","msg":"Using existing bearer token secret \"argocd-manager-long-lived-token\" for ServiceAccount \"argocd-manager\"","time":"2026-01-14T17:20:25+08:00"}
Cluster 'https://10.222.62.166:6443' added
添加完成后,你可以在 ArgoCD 的 Web 界面中查看集群状态。

如图所示,新集群 ack-zb 已经成功加入。如果其连接状态显示为 “Unknown”,无需担心,这通常是正常的,在向该集群成功部署第一个应用后,状态通常会更新为 “Successful”。
其他常用集群管理命令
掌握基本的集群管理命令,能让你的 运维 工作更加高效。
查看集群列表
使用 list 命令可以列出所有已被 ArgoCD 管理的集群,并支持多种输出格式。
argocd cluster list
# 输出格式化
argocd cluster list -o json
argocd cluster list -o yaml
argocd cluster list -o wide
获取集群详细信息
要查看某个特定集群的详细配置信息,可以使用 get 命令。
argocd cluster get context-name
移除集群
如果不再需要管理某个集群,可以使用 rm 命令将其从 ArgoCD 中移除。
argocd cluster rm context-name
迈向多集群部署
在成功配置了多集群管理能力后,下一步自然就是实现应用在多个集群上的自动部署。这通常会涉及到一个更强大的 CRD 资源——ApplicationSet。它能够基于集群标签、Git 仓库目录等生成器,动态地创建和管理多个 Application,是实现真正意义上多集群、多环境 GitOps 的关键。关于 ApplicationSet 的详细用法,我们将在下一篇文章中深入探讨。
希望这篇关于 ArgoCD 多集群管理的基础操作指南能对你有所帮助。如果你在实践过程中遇到其他问题,欢迎到 云栈社区 的相关板块与大家交流讨论。