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

EC2上Kubernetes集群通过Ingress暴露服务至外部的配置问题

问题排查与缺失配置分析

以下是你可能遗漏的关键配置项,按优先级排查:

  • Ingress Controller 未部署或未正确关联
    仅定义Ingress资源无效,集群必须运行对应的Ingress Controller(比如Nginx Ingress Controller)。

    • 执行kubectl get pods -n kube-system(或Controller所在命名空间),确认Controller Pod处于Running状态
    • 核实Ingress资源的ingressClassName与Controller的class名称一致(比如Nginx Controller默认class是nginx,需在Ingress yaml里明确指定ingressClassName: nginx)
    • 若为自建集群,需通过helm或官方yaml部署Ingress Controller组件,不能仅编写Ingress规则
  • Ingress Controller的Service未正确对外暴露
    Ingress Controller本身需要一个对外的入口Service:

    • 检查Controller的Service:kubectl get svc -n kube-system,查看是否有有效EXTERNAL-IP(AWS环境下要么是EC2公网IP,要么是自动创建的ELB地址)
    • 若使用NodePort类型,需确保EC2安全组开放对应的NodePort端口(默认30000-32767区间),外部访问采用「EC2公网IP + NodePort」的形式
    • 手动指定loadBalancerIP时,必须使用已绑定到EC2实例的弹性公网IP(EIP),同时给Controller的Service添加externalTrafficPolicy: Local配置,避免流量被SNAT导致路由异常
  • 域名DNS解析未指向公网入口
    内部能访问my-service.com是因为本地hosts或内部DNS配置,外部需要将域名解析到Ingress Controller的公网端点:

    • 将my-service.com的A/CNAME记录指向Ingress Controller Service的EXTERNAL-IP(ELB地址或EC2公网IP)
    • 若采用NodePort访问,DNS需指向EC2公网IP,访问时需带上对应端口(比如http://my-service.com:30080)
  • Ingress规则配置存在错误
    检查Ingress yaml的规则逻辑:

    • 确认spec.rules[0].host为my-service.com,且http.paths正确关联core-svc的Service和端口,示例配置:
      spec:
        ingressClassName: nginx
        rules:
        - host: my-service.com
          http:
            paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: core-svc
                  port:
                    number: 80
      
    • 执行kubectl describe ingress <你的Ingress名称>,查看事件日志,排查是否存在「找不到Service」「端口不匹配」等错误
  • AWS网络层额外限制

    • 若使用EKS集群,确认Pod所在节点的子网绑定了公网网关(IGW),且子网为公有子网
    • 检查EC2实例的网络ACL,确保允许80/443端口的入站流量(安全组允许了但ACL可能拦截)
    • 若Service自动创建了ELB,检查ELB的安全组是否开放外部流量,且ELB处于正常运行状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 17:03:23