google-kubernetes-engine - 通过 helm 创建另一个 ingress-nginx/ingress-nginx 时出现问题“错误:呈现的清单包含已经存在的资源”
问题描述
当我尝试按照它的要求进行操作时,我不断收到此错误或变化:
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 "new-ingress-nginx": current value is "old-ingress-nginx"
我正在使用 helm 安装:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm install new-ingress-nginx ingress-nginx/ingress-nginx --set-string controller.podAnnotations."app\.kubernetes\.io/instance"="new"
我已经尝试过使用和不使用 podAnnotations,因为我发现有一篇文章提到尝试这样做。
我正在使用 google kubernetes 引擎,我所做的是将我的所有 api 合并到一个负载均衡器/ingress-nginx 下,但我想找出问题所在。
解决方案
在github上阅读此内容后,我能够解决我的问题
进行了一些更改,现在--set controller.ingressClassResource.name=<somename>
已使用,yaml 文件不再如下所示:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: some-ingress
namespace: somenamespace
annotations:
kubernetes.io/ingress.class: <somename>
...
spec:
tls:
...
看起来像:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: some-ingress
namespace: somenamespace
annotations:
...
spec:
ingressClassName: <somename>
tls:
...
推荐阅读
- amazon-web-services - 是否可以生成 AWS Aurora MySql serverless 的图表
- ios - Swift:将文件从共享扩展上传到 Firebase 存储
- java - 找不到 xml 的 Jersey messagebodywriter
- python - 使用同时分配交换python列表中的元素时出错
- firebase - Firestore - 查询与列表中的值匹配的所有文档(如 SQL IN)
- firebase - 安全规则:在一个文档中存储唯一的用户名
- html - CSS中宽度和最小宽度的相同值
- javascript - Android webView - 没有调用javascript代码
- go - 获取标志值失败
- json - 为什么通过批处理文件运行的 Python 脚本不写入 json 文件?