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

AWS EKS集群通过Ingress配置ArgoCD外部访问失败求助

问题排查与解决方案

1. 优先解决Ingress无外部IP的问题

  • 最常见遗漏:Ingress未绑定ACM证书
    AWS ALB开启HTTPS监听必须绑定对应域名的ACM证书,你当前的Ingress配置缺少证书相关annotation,直接导致ALB创建失败。需要在Ingress的metadata.annotations中补充如下配置:
    alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:<集群所在区域>:<你的AWS账号ID>:certificate/<ACM证书ID>
    
    注意证书必须和集群在同一AWS区域,且证书签发域名包含argocd.<mydomain.com>。
  • 检查AWS Load Balancer Controller运行状态
    先确认控制器Pod正常运行:
    kubectl get pods -n kube-system -l app.kubernetes.io/name=aws-load-balancer-controller
    
    如果Pod异常,查看日志排查错误,常见错误包括:控制器IAM角色缺少ALB创建权限、集群公有子网未打标签kubernetes.io/role/elb: 1、安全组配置限制。
  • 检查Ingress事件
    执行如下命令查看Ingress创建过程中的报错:
    kubectl describe ingress argocd -n argocd
    

2. 解决DNS记录未生成的问题

  • 调整ExternalDNS注解位置
    默认ExternalDNS只会读取Ingress资源的host字段生成DNS记录,你当前把external-dns.alpha.kubernetes.io/hostname注解加在了argogrpc Service上,建议将该注解移动到Ingress的metadata.annotations中即可,无需额外修改ExternalDNS配置。
  • 检查ExternalDNS运行状态
    查看ExternalDNS Pod日志,排查是否存在Route53访问权限不足、无法匹配对应域名托管Zone的错误:
    kubectl logs -n <external-dns所在命名空间> <external-dns Pod名称>
    

额外优化提示

你当前的ArgoCD配置默认会在服务端自行终止TLS,所以ALB后端协议配置为HTTPS是正确的,无需额外修改ArgoCD启动参数。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 06:00:01