kubernetes - kubernetes ingress-nginx:名称为 nginx 的 IngressClass 对 ingress-nginx 无效
问题描述
当我的 ingress-nginx 控制器已经运行时,我创建了以下 ingressClass:
apiVersion: networking.k8s.io/v1beta1
kind: IngressClass
metadata:
name: nginx
annotations:
ingressclass.kubernetes.io/is-default-class: "true"
spec:
controller: example.com/ingress-nginx-controller
一切正常,新创建的入口会自动分配给“nginx”入口类,我的入口 nginx 控制器会按预期处理它们。
但是,在重新启动 ingress-nginx-controller pod 后,我在其日志中收到以下错误并保留:
I1206 05:23:22.968400 8 main.go:115] "Enabling new Ingress features available since Kubernetes v1.18"
E1206 05:23:22.971801 8 main.go:134] Invalid IngressClass (Spec.Controller) value "quivr.be/ingress-nginx-controller". Should be "k8s.io/ingress-nginx"
F1206 05:23:22.971832 8 main.go:135] IngressClass with name nginx is not valid for ingress-nginx (invalid Spec.Controller)
解决方案
出现此错误是因为 IngressClass 资源的 spec.controller 字段不能只包含任何域名。域名和控制器名称特定于您部署的入口控制器。
对于 ingress-nginx 控制器,这需要是错误日志中指示的k8s.io/ingress-nginx 。
对于其他控制器,如 nginx ingress(与 ingress-nginx 不同),这应该是 nginx.org/ingress-controller,如下所示:https ://github.com/nginxinc/kubernetes-ingress/blob/master/deployments/common /ingress-class.yaml
ps 我知道这在事后看来确实很明显,因为解决方案实际上在错误日志中,但是能够用谷歌搜索这个错误会节省我一些非常疲惫的时间。
推荐阅读
- excel - Excel 组合框下拉循环
- r - 用列表替换 r data.table 中的 NULL 和 NA
- amazon-web-services - AWS Lambda V4 签名。我们计算的请求签名与您提供的签名不匹配。检查您的 AWS 秘密访问密钥
- flutter - LateInitializationError:字段尚未初始化。在 FutureBuilder 中运行 firebase 查询后,.then() 命令未运行
- sorting - Power BI 按列(日期)排序在两个图表上产生不同的结果
- blockchain - 在 swapExactTokensForTokens (UniswapV2Router02, web3.js) 期间恢复交易
- r - 如何去除异常值和因子变量?
- wordpress - Wordpress:当我点击搜索结果时,它给出了 404
- python - 标签不会持续更新 Tkinter
- javascript - 如何基于 sessionStorage 显示菜单项