首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在kubernetes中创建多个nginx入口控制器

如何在kubernetes中创建多个nginx入口控制器
EN

Stack Overflow用户
提问于 2021-11-10 21:53:34
回答 2查看 648关注 0票数 0

我的kubernetes集群中有两个名称空间,一个名为first-nginx,另一个名为second-nginx。我在用图表..。stable/nginx-ingress现在不推荐,而不是

我正在计划安装多个nginx控制器,因为我需要它们被GKE中已经创建的静态ip公开。我已经成功地在第一个nginx命名空间中安装了第一个图表,如下所示

代码语言:javascript
复制
helm install nginx-ingress ingress-nginx/ingress-nginx --namespace first-nginx --set ingress-class="nginx-devices --set controller.service.loadBalancerIP={first-IP-address}"

我现在尝试在第二个名称空间中做同样的事情,如下所示

代码语言:javascript
复制
helm install nginx-ingress-2 ingress-nginx/ingress-nginx --namespace second-nginx --set ingress-class="nginx-devices --set controller.service.loadBalancerIP={second-IP-address}"

但是,我得到了一个错误,如下所示。

错误:呈现的清单包含已经存在的资源。无法继续安装:命名空间中的IngressClass "nginx“存在,无法导入当前发行版:无效的所有权元数据;注释验证错误:键”元数据"“helm.sh/release”必须等于“nginx-ingress 2”:当前值为"nginx-ingress";注释验证错误:键“mac.helm.sh/ validation命名空间”必须等于“第二-nginx”:当前值为"first-nginx“。

我该怎么解决这个问题?当我使用稳定/nginx-ingress图表时,这似乎是可行的,在这里我可以做类似于这个helm install nginx-ingress-devices stable/nginx-ingress --namespace second-nginx --set controller.ingressClass="nginx-devices"的事情。

如何在ingress-nginx中实现相同的功能?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-11 05:15:49

您需要为第二个入口-nginx定义额外的controller.ingressClassResource.controllerValue,这样当入口资源引用这个类时,它就知道要调用哪个控制器。

代码语言:javascript
复制
helm install nginx-ingress-devices ingress-nginx/ingress-nginx  \
  --namespace second-nginx \
  --set controller.ingressClassResource.name=second-nginx \
  --set controller.ingressClassResource.controllerValue="k8s.io/second-nginx" \
  --set controller.ingressClassResource.enabled=true \
  --set controller.ingressClassByName=true
票数 2
EN

Stack Overflow用户

发布于 2021-11-10 23:51:51

您应该使用controller.ingressClassResource.name为它们设置不同的入口类名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69920684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档