问题描述
我正在使用 kubeadm 创建我的 Kubernetes 单节点集群。应用入口 ngnix 控制器后,当我尝试应用入口文件时出现以下错误。
我在应用入口时收到以下错误:
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
我目前正在使用入口 Nginx 控制器。我该如何解决这个问题?
解决方法
这通常是因为ValidatingWebhookConfiguration的配置有问题。当您部署 nginx 控制器时,它会部署多个资源,其中之一就是此验证,其功能是验证您稍后创建的所有入口。有时可能会发生通信问题,即使具有正确的入口结构,您也会收到该错误。
我的建议:
- 检查您的入口结构是否正确
- 备份当前验证并删除它,检查问题是否已解决(即使这可能不是最好的解决方案,但它肯定会起作用) 您可以通过以下方式实现:
kubectl get ValidatingWebhookConfiguration -o yaml > ./validating-backup.yaml
kubectl delete ValidatingWebhookConfiguration <name of the resource>
小心,因为 ValidatingWebhookConfiguration 是集群范围的
最后,如果您想保留 ValidatingWebhookConfiguration,最好的选择可能是使用 helm 重新部署整个 Ingress Controller,以确保它得到正确部署。以下是使用该验证的原因:link
来源: