注意:
概述
如果您需要部署多个 Nginx Ingress Controller,即希望不同的 Ingress 规则使用不同的流量入口:
您可以为集群部署多个 Nginx Ingress Controler,不同的 Ingress 指定不同的 ingressClassName 来实现。
本文介绍安装多个 Nginx Ingress Controller 的配置方法。
配置方法
如果要安装多个 Nginx Ingress Controller,需要在
values.yaml
指定 ingressClass(注意不要冲突):controller:ingressClass: prodingressClassResource:name: prodcontrollerValue: k8s.io/ingress-prod
说明:
三个字段需同时改。
另外,多实例的 release 名称也不能与已安装的相同,即便是 namespace 不同,release 名称也不能相同(避免 ClusterRole 冲突),示例代码如下:
helm upgrade --install prod ingress-nginx/ingress-nginx \\--namespace ingress-nginx --create-namespace \\-f values.yaml
在创建 Ingress 资源时也要指定对应的
ingressClassName
:apiVersion: networking.k8s.io/v1kind: Ingressmetadata:name: nginxspec:ingressClassName: prodrules:- http:paths:- path: /pathType: Prefixbackend:service:name: nginxport:number: 80