【问题标题】:Getting failed calling webhook "validate.nginx.ingress.kubernetes.io": error when applying ingress resource/rules yaml file in NginxIngress Controller调用 webhook “validate.nginx.ingress.kubernetes.io”失败:在 NginxIngress 控制器中应用入口资源/规则 yaml 文件时出错
【发布时间】:2022-01-12 07:21:29
【问题描述】:

每当我尝试应用入口资源/规则 yaml 文件时,我都会遇到以下错误:

调用 webhook “validate.nginx.ingress.kubernetes.io”失败:发布“https://ingress-nginx-controller-admission.ingress-nginx.svc:443/networking/v1/ ingresses?timeout=10s": EOF

“调用 webhook 失败“validate.nginx.ingress.kubernetes.io”似乎有多个错误:发布“https://ingress-nginx-controller-admission.ingress-nginx.svc:443/networking/ v1/ingresses?timeout=10s": 此处出错

如下:

  1. 超出上下文截止日期
  2. x509: 由未知机构签署的证书
  3. 临时重定向
  4. EOF
  5. 没有可用于服务“ingress-nginx-controller-admission”的端点

...还有更多。

我的观察:

一旦应用了入口资源/规则 yaml,就会显示上述错误,并且入口控制器会重新启动,如下所示:

NAME                                        READY   STATUS      RESTARTS          AGE
ingress-nginx-controller-5cf97b7d74-zvrr6   1/1     Running            6          30m
ingress-nginx-controller-5cf97b7d74-zvrr6   0/1     OOMKilled          6          30m

ingress-nginx-controller-5cf97b7d74-zvrr6   0/1     CrashLoopBackOff   6          30m

ingress-nginx-controller-5cf97b7d74-zvrr6   0/1     Running            7          31m

ingress-nginx-controller-5cf97b7d74-zvrr6   1/1     Running            7          32m

这里可能会提到一个可能的解决方案(虽然不确定): https://stackoverflow.com/a/69289313/12241977

但不确定它是否可能适用于 AWS EKS 等托管 Kubernetes 服务,因为我们无法访问 kube-api 服务器。

“种类:ValidatingWebhookConfiguration”部分也有来自 yaml 的以下字段:

clientConfig:
  service:
    namespace: ingress-nginx
    name: ingress-nginx-controller-admission
    path: /networking/v1/ingresses

那么“路径:/networking/v1/ingresses”的作用是什么?它驻留在哪里,或者我们可以在哪里找到这条路径? 我使用以下命令检查了验证 webhook,但无法找到上述路径的位置

kubectl describe validatingwebhookconfigurations ingress-nginx-admission

设置详情

我使用 NodePort 暴露的Bare-metal method 安装

入口控制器版本 - v1.1.0

Kubernetes 集群版本 (AWS EKS):1.21

【问题讨论】:

  • ingress nginx 是如何安装的?安装了哪个版本的ingress-nginx?使用哪个集群版本?至于您关于path 的问题,它是一个文字路径,请求将在指定服务上发送。请看k8s service reference
  • 您好,感谢您的回复!我使用裸机方法安装:kubernetes.github.io/ingress-nginx/deploy/#bare-metal-clusters,控制器版本 - v1.1.0,Kubernetes 集群版本(AWS EKS):1.21

标签: kubernetes amazon-eks nginx-ingress


【解决方案1】:

好的,我现在开始工作了: 我的状态为“OOMKilled”(内存不足)。所以我所做的是我在部署 yaml 的“资源:”部分下添加了“限制:”部分,如下所示:

      resources:
        requests:
          cpu: 100m
          memory: 90Mi
        limits:              
          cpu: 200m
          memory: 190Mi

现在,它对我来说很好。

【讨论】:

    猜你喜欢
    • 2021-10-05
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    相关资源
    最近更新 更多