You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法将EKS集群添加至ArgoCD:连接超时问题求助

无法将EKS集群添加到ArgoCD(IO超时问题)

问题详情

执行命令:

argocd cluster add <cluster_context> -y

实际输出:

INFO[0001] ServiceAccount "argocd-manager" already exists in namespace "kube-system"
INFO[0002] ClusterRole "argocd-manager-role" updated
INFO[0003] ClusterRoleBinding "argocd-manager-role-binding" updated
FATA[0036] rpc error: code = Unknown desc = Get "https://xxxxxxxxxxxx.gr7.us-west-2.eks.amazonaws.com/version?timeout=32s": dial tcp 172.23.x.x:443: i/o timeout

预期输出:

INFO[0002] ServiceAccount "argocd-manager" created in namespace "kube-system"
INFO[0003] ClusterRole "argocd-manager-role" created
INFO[0003] ClusterRoleBinding "argocd-manager-role-binding" created
Cluster 'https://xxxxxxxxx.gr7.us-west-2.eks.amazonaws.com' added

已知条件:EKS集群端点同时支持公网和内网,允许IP列表已包含本地机器IP。

排查与解决步骤

1. 验证本地到EKS公网端点的连通性

先确认本地机器能直接访问EKS公网端点,执行以下命令测试:

curl -v https://xxxxxxxxxxxx.gr7.us-west-2.eks.amazonaws.com/version

如果该命令也出现超时,说明本地到EKS的网络存在隐性限制(比如本地防火墙规则、VPN路由策略、AWS NACL额外限制等),需要进一步排查网络连通性。

2. 强制ArgoCD使用EKS公网端点

报错中显示的172.23.x.x是内网IP,说明ArgoCD尝试通过EKS内网端点连接,但本地机器无法访问内网地址。此时需要修改kubeconfig,将集群地址指定为公网端点:

# 修改kubeconfig中的集群服务器地址为EKS公网URL
kubectl config set-cluster <cluster_context> --server=https://<EKS公网端点URL>
# 重新执行添加命令
argocd cluster add <cluster_context> -y

3. 验证kubeconfig的有效性

先确认当前kubeconfig能正常访问目标EKS集群:

kubectl --context <cluster_context> get nodes

如果该命令无法返回节点信息,说明kubeconfig配置有误(比如证书过期、context关联错误),需要先修复kubeconfig问题,再尝试添加到ArgoCD。

4. 补充:若ArgoCD部署在集群内

如果ArgoCD并非本地运行,而是部署在其他Kubernetes集群中,需要确保ArgoCD所在集群的出口IP已添加到EKS的允许IP列表中,或者通过VPC Peering打通两个集群的内网,让ArgoCD能访问EKS内网端点。

内容的提问来源于stack exchange,提问作者Akhil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 07:27:19