Nginx Ingress:找不到服务“ ingress-nginx-controller-admission”

约尔根

大约一年前,我们为客户创建了具有两个环境的kubernetes集群。阶段和生产在命名空间中分开。目前,我们正在开发该应用程序的下一版本,并且需要用于该开发工作的环境,因此我们已经在其自己的名称空间中创建了一个beta环境。

这是一个带有MetalLB和nginx-ingress的裸机Kubernetes集群。Nginx入口控制器随Helm一起安装,并且入口使用以下清单创建(名称空间由我们的部署管道强制执行,并且在清单中不可见):

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: api-ingress
  annotations:
    #ingress.kubernetes.io/ssl-redirect: "true"
    #kubernetes.io/tls-acme: "true"
    #certmanager.k8s.io/issuer: "letsencrypt-staging"
    #certmanager.k8s.io/acme-challenge-type: http01
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/configuration-snippet: |
      more_set_headers "X-Robots-Tag: noindex, nofollow";
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/cors-allow-methods: "GET, OPTIONS"
    nginx.ingress.kubernetes.io/cors-allow-origin: "*"
    nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
spec:
  tls:
    - hosts:
        - ${API_DOMAIN}
      secretName: api-cert
  rules:
    - host: ${API_DOMAIN}
      http:
        paths:
          - backend:
              serviceName: api
              servicePort: 80

当应用清单时,kubernetes会出现以下错误:

来自服务器的错误(InternalError):创建“ STDIN”时出错:发生内部错误:调用webhook“ validate.nginx.ingress.kubernetes.io”失败:发布https://ingress-nginx-controller-admission.ingress-nginx。 svc:443 / extensions / v1beta1 / ingresses?timeout = 30s:未找到服务“ ingress-nginx-controller-admission”

我试图将入口清单的apiVersion更新为networking.k8s.io/v1beta1(这是通过舵安装新的nginx-ingress控制器的apiVersion),但是我遇到了同样的错误。

我最初的怀疑是,这与当前安装和一年前的安装之间的nginx-ingress更改有关,即使入口控制器由名称空间分隔也是如此。但是我找不到ingress-nginx-controller-admission在我的任何命名空间中调用的任何服务,因此我不知道如何进行。

帕特里克·加德拉

我遇到了同样的问题,并从另一个SO线程找到了解决方案

我以前使用清单安装了nginx-ingress。我删除了它创建的名称空间,以及文档中提到clusterrole和clusterrolebinding,但这并没有删除ValidatingWebhookConfiguration清单中安装的,但是默认情况下使用helm时不会删除如上文Arghya所述,可以使用helm参数启用它。

一旦删除ValidatingWebhookConfiguration,我的头盔安装就完美无缺了。

kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS EKS上的Nginx-ingress-controller的多个副本

在Kubernetes Nginx Ingress Controller中,从http重定向到https不适用于自定义后端服务

Google通过Nginx Ingress管理SSL证书

NGINX Ingress Controller隐藏Nginx版本

无法通过Nginx-ingress-controller访问Kubernetes ClusterIP服务

使用NGINX Ingress Controller执行命令行参数的命令是什么?

HTTPS重定向不适用于Nginx-ingress-controller的默认后端

使用多个Ingress-nginx控制器时,Ingress资源从错误的Ingress Controller获取地址

Nginx Ingress Controller在Google Kubernetes Engine上找不到节点

使用Nginx Ingress Controller在413状态代码上添加自定义响应

Ingress-Nginx-Controller找不到在Google Cloud Platform上部署的第二项服务

使用带有Google登录插件的Ingress NGINX Controller在GKE中公开Jenkins

Kubernetes NGINX-INGRESS我需要运行NGINX服务吗?

Kubernetes Nginx Ingress文件上传返回502

如何在AKS NginX Ingress中公开服务

在Docker Windows上运行kubernetes ingress-nginx时找不到404页面

Nginx-Ingress-Controller限制要部署的rps数

如何使用Nginx-ingress-controller Kubernetes公开localhost气流

Ingress Nginx中的TCP公开服务可用于SSL?

错误:getaddrinfo ENOTFOUND ingress-nginx.ingress-nginx-controller.svc.cluster.local

kubernetes nginx.ingress多个websocket服务

kubernetes nginx.ingress多个websocket服务

如何在Kubernetes Nginx Ingress Controller中将Nginx IP附加到X-Forwarded-For

Nginx Ingress Controller:宿主变量的目的是什么?

nginx-ingress-controller 中的粘性会话不起作用

nginx-ingress - https 配置 - 找不到服务器 IP 地址

Nginx 在 kubernetes ingress 上暴露时找不到静态 react 应用程序文件

ingress-nginx-controller-admission:它有什么作用?为什么在那里

使用 Helm chart 安装 Nginx Ingress Controller