大家好,我正在部署ingress nginx版本4.2.5,我遇到了一个问题,我阅读了文档,他们说可以让内部和外部控制器都使用相同的ingressClass,我正在使用pulumi在GCP上部署,但也尝试过使用helm,结果相同https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx我验证了我有两个控制器,你可以在这里看到
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-test-controller LoadBalancer 10.132.134.99 34.138.195.84 80:30345/TCP,443:31306/TCP 103s
ingress-nginx-test-controller-internal LoadBalancer 10.132.133.193 10.128.0.131 80:30851/TCP,443:30081/TCP 104s
ingress-nginx-test-controller-metrics ClusterIP 10.132.193.30 <none> 10254/TCP 105s
但是当我创建一个入口并将IngressClass设置为nginxinternal时,它会给我以下错误
"Ignoring ingress because of error while validating ingress class" ingress="XXXX/XXXX" error="no object matching key "nginx-internal" in local store"
如果Nginx入口内部ingressclass
不存在,您可以使用创建一个
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
name: internal-nginx
spec:
controller: k8s.io/internal-ingress-nginx
确保您指向的是正确的控制器。
此外,您可以将相同的ingressclass
用于入口
在这里你可以参考官方文档:https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/