首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在同一个名称空间中的多个Nginx侵入控制器?

在同一个名称空间中的多个Nginx侵入控制器?
EN

Stack Overflow用户
提问于 2021-07-13 07:56:20
回答 2查看 2.6K关注 0票数 2

根据我的理解,我们可以在一个集群中使用Ingress类注释来使用多个Nginx入口控制器。但是,我有一个用例,需要在同一个名称空间中使用多个入口控制器来使用各自创建的入口规则在同一个名称空间中公开不同的服务。我按照https://kubernetes.github.io/ingress-nginx/deploy/#azure创建一个示例入口控制器。如果我想要在同一个命名空间中拥有多个Nginx入口控制器,那么应该修改所有的参数。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-13 09:05:16

从您的帖子中还不清楚您是否打算部署多个nginx入口控制器或不同的入口控制器。但是,两者都可以部署在同一个命名空间中。

在部署不同的入口控制器时,应该可以很容易地部署在同一个命名空间中,并使用类注释来指定哪个入口规则是由哪个入口控制器处理的。但是,如果要在同一个命名空间中部署多个nginx-ingress控制器,则必须将名称/标签或其他标识符更新到不同的名称。

例如-你提到的链接https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/cloud/deploy.yaml需要更新为-

代码语言:javascript
复制
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    helm.sh/chart: ingress-nginx-3.33.0
    app.kubernetes.io/name: ingress-nginx-internal
    app.kubernetes.io/instance: ingress-nginx-internal
    app.kubernetes.io/version: 0.47.0
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: controller
  name: ingress-nginx-internal
  namespace: ingress-nginx
automountServiceAccountToken: true

假设我们将第二个nginx入口控制器称为ingress nginx- in;同样,在链接中创建的所有资源都需要修改并部署在同一个命名空间中。

此外,您还必须更新部署args以指定ingress.class,您的控制器将针对-

代码语言:javascript
复制
spec:
  template:
     spec:
       containers:
         - name: nginx-ingress-internal-controller
           args:
             - /nginx-ingress-controller
             - '--ingress-class=nginx-internal'
             - '--configmap=ingress/nginx-ingress-internal-controller'

链接https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/解释了如何控制多个入口控制器。

票数 1
EN

Stack Overflow用户

发布于 2022-06-12 10:42:33

我在AKS上遇到了类似的问题(K8s版本1.22.4)。我有两个Nginx入侵控制器,内部和外部。在为每个指定唯一的选择id之后,问题就解决了。

这篇文章可能会有所帮助:https://stackoverflow.com/a/72591382/4049017

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

https://stackoverflow.com/questions/68358574

复制
相关文章

相似问题

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