当前位置: 首页 > 知识库问答 >
问题:

Nginx Ingress:未找到服务“Ingress-nginx-Controller-Accessing”

谈炳
2023-03-14
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

来自服务器的错误(InternalError):创建“stdin”时出错:出现内部错误:调用webhook“validate.nginx.ingress.kubernetes.io”失败:Post https://Ingress-nginx-controller-accemsion.Ingress-nginx.controller.svc:443/extensions/v1beta1/Ingresss?Timeout=30s:找不到服务“Ingress-nginx-controller-accement”

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

我最初的怀疑是,这与当前安装和一年前的安装之间的nginx-ingress的更改有关,即使入口控制器由名称空间分隔。但是我在我的任何名称空间中都找不到任何名为ingress-nginx-controller-access的服务,所以我不知道如何继续。

共有1个答案

贺山
2023-03-14

我也有同样的问题,从另一个SO线程中找到了解决方案。

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

一旦我删除了validatingwebhookconfiguration,我的helm安装就完美无缺了。

kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission
 类似资料:
  • 来自服务器的错误(InternalError):创建“stdin”时出错:发生内部错误:调用webhook“validate.nginx.ingress.kubernetes.io”失败:Post https://ingress-nginx-controller-crission.ingress-nginx.svc:443/extensions/v1beta1/ingress?timeout=30

  • 我尝试按照本教程来使用nginx入口控制器。在我尝试让它工作的过程中,一些细节发生了变化——只有一个后端服务而不是两个,一些端口号和所有内容都在默认名称空间中运行。我在CentOS Linux 7.4.1708版虚拟机上有一个kubernetes主机和三个仆从。 后端和默认后端都可以通过各自的服务endpoint在集群内访问。nginx状态页面在外部可用(MasterHostIP:32000/ng

  • 我们正在GKE上的k8s集群上运行一个应用程序。 我们正在使用一个nginx入口控制器作为外部负载平衡器服务,比如说,https://12.345.67.98 . 我们面临的一个问题是,当我们直接访问上述URL上的负载平衡器时,我们会收到一个证书警告,因为使用了自签名的“Kubernetes入口控制器假证书”。 我们只有将我们的域(例如app.our company.com)映射到Kubernet

  • 什么起作用了? 使用Helm(启用RBAC)部署入口控制器 集群IP服务部署 什么不起作用? null K8S入口 注释中最后应用的配置(入口描述输出)显示入口资源清单。但是,我贴在下面作为参考 附加信息 null 任何关于我可能做错了什么的建议或见解将非常感谢。

  • 申请 Domain Name 首先就是申请一个你要的网域, 这边网路上资源很多都可以查一下哪个网域商或是一些相关的建议, 这边我就先不去多做介绍了, 文章中会以 sam.nctu.me 来作范例 用 Letsencrypt 来签发凭证 这边我们用手动的把它先签下来, 上 Letsencrypt 去安装 certbot, 手动签的方式也可以参考签 letsencrpyt 凭证 文章, 输入以下指令来