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

nginx-ingress Helm部署--tcp-services-configmap参数不存在问题咨询

TCP/UDP端口转发配置方案

启动报错根因

你手动配置的启动参数前缀错误:tcp-services-configmap是长选项参数,必须以*双横杠--开头,你使用单横杠-*定义参数,导致控制器二进制无法识别该配置,所以启动失败。

正确配置方式

无需手动修改Deployment的容器启动参数,Ingress Nginx官方Helm Chart已预留专属配置字段,按以下步骤操作即可:

  • 提前创建符合规范的TCP服务ConfigMap
    ConfigMap键为对外暴露的端口号,值为命名空间/服务名:端口格式的服务引用,注意不可占用80、443两个控制器HTTP服务预留端口。
  • 安装/升级Helm Release时传入TCP ConfigMap配置
    直接通过values配置或--set参数指定即可,Chart会自动生成对应启动参数并挂载ConfigMap:
    # values.yaml 配置示例
    controller:
      tcp:
        configMapNamespace: emoney-node
        name: tcp-services-configmap
      # 如需暴露UDP服务同理配置udp字段
      # udp:
      #  configMapNamespace: <你的命名空间>
      #  name: <udp服务ConfigMap名称>
      service:
        # 必须在控制器Service中开放你要暴露的TCP/UDP端口,示例如下
        ports:
          tcp:
            1883: 1883 # 键是Service对外端口,值是ConfigMap中配置的端口
    
    如果你习惯用--set参数传递配置,对应命令为:
    helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
      --set controller.tcp.configMapNamespace=emoney-node \
      --set controller.tcp.name=tcp-services-configmap \
      --set controller.service.ports.tcp.1883=1883
    

自定义容器启动参数方法

如果你有额外的自定义启动参数需求,可通过Chart预留的controller.extraArgs字段配置,无需手动编辑Deployment:

controller:
  extraArgs:
    # 字段名就是参数名,Chart会自动添加双横杠前缀并拼接参数值
    tcp-services-configmap: emoney-node/tcp-services-configmap
    enable-ssl-passthrough: "true" # 其他自定义参数同理配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:15:03