[英]K8s: Multiple nginx-ingress-controller ingress rules in GKE
我有一个域名*.foo.com
全部进入规则,然后我有一个域名a.foo.com
特定规则。 根据文档, a.foo.com
的入口规则必须优先于带有通配符的规则(因为匹配比通配符更好)。 但是,这没有发生。 如何明确设置优先级? 我究竟做错了什么?
这是我的通用入口规则:
$ kubectl describe ing foo
Name: foo
Namespace: foo
Address: x.x.x.x
Default backend: default-http-backend:80 (x.x.x.x:8080)
TLS:
foo.com terminates *.foo.com
Rules:
Host Path Backends
---- ---- --------
*.foo.com
/ foo:8888 (<none>)
这是特定于域的规则:
$ kubectl describe ing foo-a
Name: foo-a
Namespace: foo
Address: x.x.x.x
Default backend: default-http-backend:80 (x.x.x.x:8080)
TLS:
foo.com terminates a.foo.com
Rules:
Host Path Backends
---- ---- --------
a.foo.com
/hello foo-a:8080 (<none>)
您将需要将每个nginx-ingress控制器配置为具有不同的ingress-class
名称。 然后,在入口定义中,应指定kubernetes.io/ingress.class: "my-ingress"
以指向要用于该特定入口的入口控制器。
设置详细信息包含在[nginx-ingress文档]中。( https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/ )
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.