我有一个 Kubernetes 入口,我想成为一组主机上所有路径的默认值,前提是没有更具体的匹配:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: default-ing
spec:
rules:
- host: host1.sub.example.com
http:
paths:
- backend:
serviceName: my-default-service
servicePort: http
# Note: here we specify the root path intended as a default
path: /
- backend:
serviceName: my-default-service
servicePort: http
path: /route/path/to/default
第二个入口为特定路径定义了一个自定义服务:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: special-ing
spec:
rules:
- host: host1.sub.example.com
http:
paths:
- backend:
serviceName: special-service
servicePort: http
path: /special
我希望添加/删除入口的顺序无关紧要,或者至少我可以有某种方式表明path: /
indefault-ing
总是最后排序。
当我尝试上述方法时,只要我special-ing
之前添加路由就可以了default-ing
(或者,添加default-ing
,然后是special-ing
,然后删除default-ing
并重新添加它)。当我将它们添加为时default-ing
,special-ing
请求/special are
路由到my-default-service
而不是special-service
.
我希望添加/删除的顺序独立于 nginx-ingress-controller 生成的路由,以便我的 kubectl 操作更加健壮,并且如果重新创建其中一个入口,则不会中断。
我在用着nginx-ingress-controller:0.19.0
谢谢你尽你所能的帮助!