问一下容器服务ACK,alb ingress的路由优先级顺序,就是对应alb实例的监听规则列表从上往下的顺序么?因为有域名根路径(abc.com/)的前缀匹配规则,所以特意把根路径规则优先级调低了,就是设置alb ingress的时候使用注解alb.ingress.kubernetes.io/order: "13"把优先级调低了,结果上alb实例看监听规则,/匹配的规则竟然还在前面,旧有点迷
ACK的ALB Ingress Controller会按照以下优先级顺序处理Ingress的路由规则:
Host名 匹配
先匹配Host头,符合Host的请求才进行下一步匹配。
Path 匹配
其次匹配URL路径。同一个Host下,按照路径规则从上到下顺序匹配。
Regex 匹配
再次尝试使用正则表达式匹配URL。与普通Path匹配方式相同,从上到下顺序匹配。
4.默认Backend
如果以上规则都不匹配,则转发至Ingress中指定的默认后端Service。
也就是说,ALB实例的监听规则大概是这样的顺序:
匹配第一个Host的第一个Path规则
匹配第一个Host的第二个Path规则
匹配第一个Host的第一个Regex规则
匹配第二个Host的第一个Path规则
......
匹配默认Backend
pathType 你自己定义就行了 。 我这边一般是手动调整 yaml 中路由的定义顺序,让 / 的在后面
,此回答整理自钉群“阿里云容器服务ACK用户大群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。