【问题标题】:Installing multiple nginx ingress controller instances in the same AKS cluster在同一个 AKS 群集中安装多个 nginx 入口控制器实例
【发布时间】:2021-09-24 10:53:43
【问题描述】:

我有一个全新的(非常空的)AKS 集群。我想使用 helm 在不同的命名空间和不同的入口类中安装 nginx 入口控制器的两个实例。

我从第一个开始:

helm install ingress1 ingress-nginx/ingress-nginx --namespace namespace1 --set controller.ingressClass=class1

NAME: ingress1
LAST DEPLOYED: Fri Sep 24 20:46:28 2021
NAMESPACE: namespace1
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The ingress-nginx controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.

一切顺利

现在我选择第二个:

helm install ingress2 ingress-nginx/ingress-nginx --namespace namespace2 --set controller.ingressClass=class2

Error: rendered manifests contain a resource that already exists. Unable to continue with install: IngressClass "nginx" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "ingress2": current value is "ingress1"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "namespace2": current value is "namespace1"

在同一个集群中安装多个 nginx 入口控制器实例的正确方法是什么?

【问题讨论】:

    标签: nginx kubernetes nginx-ingress helm3


    【解决方案1】:

    我认为您设置了错误的值,因此在两个安装中类名都是nginx。看看这里的模板:controller-ingressclass

    如果您使用的是官方 ingress-nginx Helm 存储库:https://kubernetes.github.io/ingress-nginx,那么请尝试设置此设置:改为:controller.ingressClassResource.name=class1|class2

    helm install ingress1 ingress-nginx/ingress-nginx --namespace namespace1 --set controller.ingressClassResource.name=class1
    
    helm install ingress2 ingress-nginx/ingress-nginx --namespace namespace2 --set controller.ingressClassResource.name=class2
    

    根据您的需要,您可能还需要更改其他值of the ingressClassResource

    【讨论】:

    猜你喜欢
    • 2020-07-09
    • 1970-01-01
    • 2022-06-29
    • 2021-11-09
    • 2022-06-12
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 2021-03-31
    相关资源
    最近更新 更多