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

仅使用Fargate的EKS集群中ingress-nginx绑定8443端口报地址占用错误

EKS Fargate环境ingress-nginx 8443端口占用问题解决指南

核心故障原因

  • Helm Values配置语法错误:
    1. 你提交的values中controller下重复定义了service字段,YAML中后定义的同名字段会覆盖前置配置,导致你预先设置的端口映射规则完全未生效
    2. 配置层级完全错误:allowPrivilegeEscalation属于controller.securityContext配置项,livenessProbe、readinessProbe是controller下的一级配置项,你全部错误放置到了controller.image字段下,这些核心配置全部未被应用,导致ingress-nginx启动逻辑异常,出现进程重复绑定端口的问题
  • 可选关联原因:如果你的EKS集群未开启IPv6双栈,ingress-nginx默认同时监听IPv4、IPv6端口的逻辑会导致绑定冲突,你的netstat输出也显示8443仅监听了IPv6地址,未监听IPv4的0.0.0.0:8443,与报错信息完全匹配
  • 排除AWS底层配置问题:VPC、子网、安全组属于集群外部网络配置,只会影响集群南北向流量连通性,不可能导致容器内部端口被占用,不需要在这个方向浪费排查时间

修复方案

1. 修正Helm Values配置

将你的values调整为如下正确结构,合并重复字段、修正配置层级:

controller: 
  extraArgs: 
    http-port: 8080 
    https-port: 8443
    # 未开启IPv6双栈时添加以下参数,禁用IPv6监听
    enable-ipv6: false
  containerPort: 
    http: 8080 
    https: 8443 
  securityContext:
    allowPrivilegeEscalation: false
  livenessProbe:
    initialDelaySeconds: 60
  readinessProbe:
    initialDelaySeconds: 60
  service: 
    ports: 
      http: 80 
      https: 443 
    targetPorts: 
      http: 8080 
      https: 8443
    annotations:
      service.beta.kubernetes.io/aws-load-balancer-type: "nlb"

2. 重新部署ingress-nginx

执行以下命令升级已有release,或者卸载后重新安装:

# 升级部署
helm upgrade -n ingress ingress-nginx ingress-nginx/ingress-nginx -f values.yaml
# 如需重装先执行卸载
helm uninstall -n ingress ingress-nginx

3. 可选验证步骤

无需获取容器root权限,直接执行以下命令查看nginx配置确认端口规则:

kubectl exec -n ingress <pod-name> -- cat /etc/nginx/nginx.conf | grep listen

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:45:03