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

无法在Argo CD中添加跨AWS账号的EKS集群问题求助

问题排查与解决方案

核心问题定位

你遇到的超时问题,本质是Argo CD控制平面组件(而非NAT/Ingress IP)无法访问staging集群的公网API端点。执行argocd cluster add时,是Argo CD内部的argocd-server或argocd-application-controller Pod发起对目标集群API Server的请求,而非集群的NAT网关或Ingress Controller。

具体排查与修复步骤

  • 确认Argo CD组件的实际出口IP

    1. 查看Argo CD相关Service的部署类型:
      kubectl get svc -n argocd
      
    2. 如果argocd-server是LoadBalancer类型,获取其关联的EIP:
      • 先拿到负载均衡器主机名:kubectl get svc argocd-server -n argocd -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
      • 通过AWS EC2控制台解析该主机名对应的公网IP
    3. 将这个IP添加到staging集群API Server的公网访问白名单中
  • 核对安全组规则方向
    确保staging集群API Server的安全组是入方向允许上述IP的443端口访问,不要误配置为出方向规则。

  • 验证Pod级别的网络连通性
    在Argo CD集群中临时启动一个测试Pod,直接访问staging集群的API端点,确认网络是否可达:

    kubectl run -it --rm busybox --image=busybox:1.36 -- curl -v https://7676334634763764377B080FC2E502754A3.gr7.eu-central-1.eks.amazonaws.com/version
    
    • 如果curl超时,说明出口IP仍未加入白名单
    • 如果curl能通,检查Argo CD命名空间下的网络策略是否限制了组件的出站流量
  • 检查网络策略限制
    查看Argo CD命名空间的网络策略,确认是否存在阻断出站流量的规则:

    kubectl get networkpolicy -n argocd
    

    若有相关策略,需添加允许访问staging集群API Server IP及443端口的规则。

替代方案

如果不想依赖公网IP白名单,可通过VPC Peering建立两个AWS账号VPC的私有连接,让Argo CD集群通过私有网络访问staging集群的API Server私有端点,安全性更高且无需公网配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:40:02