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

在EKS环境部署ArgoCD应用遇连接状态unknown问题求助

解决EKS中ArgoCD负载均衡器连接状态Unknown问题

1. 验证负载均衡器关联资源配置

  • 检查ArgoCD Server Service状态:
    kubectl get svc -n argocd
    
    确认argocd-server的类型为LoadBalancer,且EXTERNAL-IP已分配(状态不是<pending>)。
  • 检查安全组规则:
    • 负载均衡器安全组需允许客户端IP访问443端口(ArgoCD默认UI端口)。
    • EKS节点安全组需允许负载均衡器的流量进入到ArgoCD Server容器对应的端口(默认8081用于HTTPS,8080用于健康检查)。
  • 修正目标组健康检查:
    AWS负载均衡器的目标组需配置正确的健康检查参数:
    • 路径:/healthz
    • 端口:对应ArgoCD Server容器的健康检查端口(默认8080)
    • 协议:HTTP
      若健康检查失败,目标组会标记实例为unhealthy,最终导致LB连接状态显示unknown。

2. 确认ArgoCD Server Pod运行状态

  • 检查Pod状态:
    kubectl get pods -n argocd
    
    确保所有argocd-server Pod的STATUS为Running,READY状态为2/2或1/1(取决于镜像版本)。
  • 查看Pod日志排查异常:
    kubectl logs <argocd-server-pod-name> -n argocd
    
    检查是否有启动失败、端口占用或权限错误等日志信息。

3. 测试网络连通性

  • 验证LB IP的可达性:
    从客户端机器执行ping <LB-EXTERNAL-IP>(若安全组允许ICMP),或用curl测试健康端点:
    curl https://<LB-EXTERNAL-IP>/healthz -k
    
    若返回200 OK则说明基础连通正常;若超时或报错,需排查VPC路由、NACL或安全组规则。

4. 检查ArgoCD Service配置正确性

  • 导出Service配置yaml:
    kubectl get svc argocd-server -n argocd -o yaml
    
    确认以下配置项:
    • spec.type为LoadBalancer
    • spec.ports中targetPort指向容器正确端口(HTTPS用8081,HTTP用8080)
    • spec.selector与argocd-server Pod的标签匹配(通常是app.kubernetes.io/name: argocd-server)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 00:42:06