Skip to main content
added 29 characters in body
Source Link
Evan Carroll
  • 2.6k
  • 6
  • 33
  • 81

Whenever I run helm install on the chart I'm making I see this,

Error: INSTALLATION FAILED: 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 "acme-1681486075": current value is "acmecorp-nginx"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "acme": current value is "default"

What concerns me here is this part

Error: INSTALLATION FAILED: 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

I don't want to import thisthe cluster default. I want to create and bring my own ingress controller with my helm chart. Why is it still thinking this is a default to be imported?

dependencies:
  ...
  - name: "ingress-nginx"
    repository: https://kubernetes.github.io/ingress-nginx
    version: 4.x.x
controller:
  electionID: ingress-controller-leader
  ingressClassResource:
    name: internal-nginx  # default: nginx
    enabled: true
    default: false
    controllerValue: "k8s.io/internal-ingress-nginx"  # default: k8s.io/ingress-nginx

What is the syntax in a Chart.yaml to create a newlist ingress-nginx controlleras a dependency for a multiple ingress install?

Whenever I run helm install on the chart I'm making I see this,

Error: INSTALLATION FAILED: 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 "acme-1681486075": current value is "acmecorp-nginx"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "acme": current value is "default"

What concerns me here is this part

Error: INSTALLATION FAILED: 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

I don't want to import this. I want to create and bring my own ingress controller. Why is it still thinking this is a default to be imported?

dependencies:
  ...
  - name: "ingress-nginx"
    repository: https://kubernetes.github.io/ingress-nginx
    version: 4.x.x
controller:
  electionID: ingress-controller-leader
  ingressClassResource:
    name: internal-nginx  # default: nginx
    enabled: true
    default: false
    controllerValue: "k8s.io/internal-ingress-nginx"  # default: k8s.io/ingress-nginx

What is the syntax in a Chart.yaml to create a new ingress-nginx controller

Whenever I run helm install on the chart I'm making I see this,

Error: INSTALLATION FAILED: 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 "acme-1681486075": current value is "acmecorp-nginx"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "acme": current value is "default"

What concerns me here is this part

Error: INSTALLATION FAILED: 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

I don't want to import the cluster default. I want to create and bring my own ingress controller with my helm chart. Why is it still thinking this is a default to be imported?

dependencies:
  ...
  - name: "ingress-nginx"
    repository: https://kubernetes.github.io/ingress-nginx
    version: 4.x.x
controller:
  electionID: ingress-controller-leader
  ingressClassResource:
    name: internal-nginx  # default: nginx
    enabled: true
    default: false
    controllerValue: "k8s.io/internal-ingress-nginx"  # default: k8s.io/ingress-nginx

What is the syntax in a Chart.yaml to list ingress-nginx as a dependency for a multiple ingress install?

Source Link
Evan Carroll
  • 2.6k
  • 6
  • 33
  • 81

How can I tell my Helm Chart to ignore the default ingress-nginx and create a new one?

Whenever I run helm install on the chart I'm making I see this,

Error: INSTALLATION FAILED: 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 "acme-1681486075": current value is "acmecorp-nginx"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "acme": current value is "default"

What concerns me here is this part

Error: INSTALLATION FAILED: 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

I don't want to import this. I want to create and bring my own ingress controller. Why is it still thinking this is a default to be imported?

dependencies:
  ...
  - name: "ingress-nginx"
    repository: https://kubernetes.github.io/ingress-nginx
    version: 4.x.x
controller:
  electionID: ingress-controller-leader
  ingressClassResource:
    name: internal-nginx  # default: nginx
    enabled: true
    default: false
    controllerValue: "k8s.io/internal-ingress-nginx"  # default: k8s.io/ingress-nginx

What is the syntax in a Chart.yaml to create a new ingress-nginx controller