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

Nginx Ingress Controller配置端口81无效,仍监听80问题排查

问题分析与解决

你遇到的问题是因为stable/nginx-ingress Helm Chart的Service端口配置结构错误,导致自定义的81端口没有被正确应用,Service仍然使用默认的80端口。

具体原因

你的values.yaml中controller.service.ports的写法不符合该Chart的参数规范。旧版stable/nginx-ingress Chart要求端口配置需要嵌套port字段,而不是直接赋值端口号。

修正后的values.yaml配置片段

修改controller.service部分的端口配置:

controller:
    service:
        type       : "LoadBalancer"
        enableHttp : true
        enableHttps: false
        ports:
            http:
                port: 81  # 改为嵌套的port字段
        targetPorts:
            http: 81
        # 其他注解保持不变

操作步骤

  1. 保存修正后的values.devops.yaml文件
  2. 重新执行Helm升级命令,确保配置覆盖生效:
$ helm upgrade --install --namespace=default -f values.devops.yaml nic-default stable/nginx-ingress
  1. 等待部署完成后,再次查询Service验证端口:
$ kubectl get svc nic-default-nginx-ingress

额外验证点

  • 检查控制器Pod的容器端口是否为81:
$ kubectl get pods -l app=nginx-ingress,component=controller -o jsonpath='{.items[*].spec.containers[*].ports}'
  • 确认Nginx控制器的启动参数中包含--http=81,验证容器监听端口:
$ kubectl exec -it <pod-name> -- nginx -T | grep listen

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:10:45