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

如何在Kubernetes中使用ingress-nginx chart部署多个Nginx Ingress控制器

报错原因

新版官方ingress-nginx chart的配置参数与废弃的stable/nginx-ingress存在差异,你的操作存在两个核心问题:

  • 命令参数语法错误:你编写的安装命令中引号位置错误,将两个--set参数包裹在同一对引号内,导致参数无法被正常解析
  • IngressClass资源冲突:IngressClass是集群全局资源,你两次安装都使用了默认的IngressClass配置,第一个实例已经创建了名为nginx的IngressClass,第二个实例尝试创建同名资源触发所有权校验报错

正确部署方式

每个Ingress控制器实例需要配置独立的IngressClass名称,使用对应新版参数执行安装即可:

  1. 第一个实例(first-nginx命名空间)执行命令:
helm install nginx-ingress ingress-nginx/ingress-nginx \
--namespace first-nginx \
--set controller.ingressClass.name=nginx-first \
--set controller.ingressClassResource.name=nginx-first \
--set controller.service.loadBalancerIP={first-IP-address}
  1. 第二个实例(second-nginx命名空间)执行命令:
helm install nginx-ingress-2 ingress-nginx/ingress-nginx \
--namespace second-nginx \
--set controller.ingressClass.name=nginx-second \
--set controller.ingressClassResource.name=nginx-second \
--set controller.service.loadBalancerIP={second-IP-address}

后续使用说明

创建Ingress资源时,需要在配置中指定ingressClassName字段为对应控制器的IngressClass名称,即可将Ingress规则绑定到对应实例,例如要绑定第一个控制器,Ingress配置添加:

spec:
  ingressClassName: nginx-first
  # 其余Ingress配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:54:03