微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

调用 webhook“validate.nginx.ingress.kubernetes.io”失败:在 Kubernetes 中应用入口时出错

如何解决调用 webhook“validate.nginx.ingress.kubernetes.io”失败:在 Kubernetes 中应用入口时出错

我正在使用 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

来源:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。