【问题标题】:Problem creating another ingress-nginx/ingress-nginx via helm "Error: rendered manifests contain a resource that already exists"通过 helm 创建另一个 ingress-nginx/ingress-nginx 时出现问题“错误:呈现的清单包含已经存在的资源”
【发布时间】:2021-10-06 19:53:26
【问题描述】:

当我尝试按要求执行时,我不断收到此错误或变化:

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 下,但我想找出问题所在。

【问题讨论】:

  • 也许this answer可以帮助你。
  • @NadiaEspinosa 它帮助我找到了答案,谢谢。

标签: google-kubernetes-engine kubernetes-helm kubernetes-ingress nginx-ingress


【解决方案1】:

阅读this on github后我能够解决我的问题

Some changes were made 和 --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:
  ...

【讨论】:

    猜你喜欢
    • 2020-02-11
    • 1970-01-01
    • 2022-08-18
    • 2020-12-09
    • 2021-11-05
    • 2022-01-26
    • 2019-03-24
    • 2018-11-25
    • 1970-01-01
    相关资源
    最近更新 更多