Post

Incomplete cert-manager uninstall

Context

  • JElastic Cloud 8.4.1 (Infomaniak)
  • Kubernetes cluster 1.28.0 (development environment)

I wanted to understand how to expose Kubernetes services to the Internet.

So I followed the “Kubernetes Worker Node Public IP Address for Application Access” section of the official Virtuozzo documentation.

I eventually abandoned that approach and instead set up an Nginx proxy in front of the Kubernetes cluster, attaching a domain to a dedicated IPv4 address.

I therefore decided to uninstall cert-manager, which had been installed while following the tutorial mentioned above.

The uninstall procedure is well explained on the cert-manager website.

However, in my case something was still missing: when I tried to deploy a Helm chart (following Antoine Mayer’s tutorial to deploy the 2048 game), the following error appeared:

1
Error: UPGRADE FAILED: cannot patch "game2048" with kind Ingress: Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io": failed to call webhook: Post "https://cert-manager-nginx-ingress-nginx-controller-admission.cert-manager.svc:443/networking/v1/ingresses?timeout=10s": service "cert-manager-nginx-ingress-nginx-controller-admission" not found

Analysis

The cert-manager uninstall guide clearly states that webhook resources must be removed, but none were returned by the suggested commands.

So I tried running:

1
kubectl get validatingwebhookconfigurations

instead of:

1
kubectl get validatingwebhookconfigurations cert-manager-webhook

which is what the cert-manager documentation suggests.

That revealed several entries, including:

1
2
3
NAME                                         WEBHOOKS   AGE
cert-manager-nginx-ingress-nginx-admission   1          2d1h
...

Solution

Simply delete the cert-manager-nginx-ingress-nginx-admission resource:

1
kubectl delete validatingwebhookconfigurations cert-manager-nginx-ingress-nginx-admission
This post is licensed under CC BY 4.0 by the author.