Fre*_*ens 6 kubernetes kubernetes-ingress nginx-ingress
当我的 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
Run Code Online (Sandbox Code Playgroud)
一切正常,新创建的入口会自动分配“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)
Run Code Online (Sandbox Code Playgroud)
出现此错误的原因是 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 我知道事后看来这似乎非常明显,因为解决方案实际上就在错误日志中,但是能够通过谷歌搜索这个错误可以节省我一些时间。
归档时间: |
|
查看次数: |
29566 次 |
最近记录: |