Fra*_*ron 1 nginx kubernetes nginx-ingress helm3
我有一个全新的(非常空的)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.
Run Code Online (Sandbox Code Playgroud)
都好
现在我选择第二个:
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"
Run Code Online (Sandbox Code Playgroud)
在同一集群中安装多个 nginx 入口控制器实例的正确方法是什么?
小智 10
我认为您设置了错误的值,因此类名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
Run Code Online (Sandbox Code Playgroud)
根据您的需要,您可能还需要更改ingressClassResource 的其他值
| 归档时间: |
|
| 查看次数: |
3647 次 |
| 最近记录: |