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