2

I'm creating my Kubernetes single node cluster using kubeadm. After applying the ingress ngnix controller, I'm getting the following error when I try to apply the ingress file.

I'm getting the following error while applying the ingress:

Error from server (InternalError): error when creating "ingress.yaml": Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io": Post "https://ingress-nginx-controller-admission.ingress-nginx.svc:443/networking/v1/ingresses?timeout=10s": dial tcp 10.101.247.233:443: connect: connection refused

I'm currently using the ingress nginx controller. How can I resolve this issue?

nimramubashir
  • 61
  • 1
  • 9
  • Does this answer your question? [Nginx Ingress Controller - Failed Calling Webhook](https://stackoverflow.com/questions/61616203/nginx-ingress-controller-failed-calling-webhook) –  Jul 30 '21 at 06:41
  • 1
    I tried applying the ingress again and I didn't get any error. I didn't even have to delete the `ValidatingWebhookConfiguration` as i was doing before – nimramubashir Aug 12 '21 at 07:34

1 Answers1

2

This usually happens because there is a problem in the configuration of the ValidatingWebhookConfiguration. When you deploy the nginx controller it deploys multiple resources, one of those is this validation, which function is to validate all the ingress that you create later on. Sometimes it might happen that there is a communication problem and you get that error even having the correct structure for the ingress.

My recommendations:

  • Check if the structure of your ingress is correct
  • Backup the current validation and delete it, check if the problem is solved (even though this might not be the best solution for sure it will work) You can achieve this by doing:
    kubectl get ValidatingWebhookConfiguration -o yaml > ./validating-backup.yaml

    kubectl delete ValidatingWebhookConfiguration <name of the resource>

be carefull since the ValidatingWebhookConfiguration is cluster wide

Finally, if you want to keep the ValidatingWebhookConfiguration, the best option might to redeploy the whole Ingress Controller using helm, so you ensure it gets correctly deployed. Here is they why that validation is used: link

Sources:

Mauro
  • 91
  • 7
  • Thank you. I have been deleting the ValidatingWebhookConfiguration for the past month, but today I tried applying it without deleting it and it worked. I no longer got that error. – nimramubashir Aug 12 '21 at 07:40