您现在的位置是:首页 >技术教程 >ingress 路径配置中类型exact|prefix|ImplementationSpecific的区别以及配置网站首页技术教程
ingress 路径配置中类型exact|prefix|ImplementationSpecific的区别以及配置
简介ingress 路径配置中类型exact|prefix|ImplementationSpecific的区别以及配置
Ingress 中 path 的类型有 trois 种:
- exact: 精确匹配路径。如 path: /foo,只匹配请求路径与之完全相同的 /foo。
- prefix: 前缀匹配路径。如 path: /foo,匹配请求路径以 /foo 开始的所有路径,如 /foo、/foo/bar 等。
- ImplementationSpecific: 特定 Ingress controller 的匹配方式。如 Nginx Ingress controller 忽略路径类型,作为前缀匹配路径处理。
这三种类型的使用情况如下:
- exact 路径
当需要请求路径与 Ingress 路径完全匹配时使用,例如:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
rules:
- http:
paths:
- path: /foo
pathType: exact
backend:
serviceName: foo-svc
servicePort: 80
这只会匹配请求路径完全为 /foo 的请求。
2. prefix 路径
当需要匹配请求路径的前缀时使用,例如:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
rules:
- http:
paths:
- path: /foo
pathType: prefix
backend:
serviceName: foo-svc
servicePort: 80
这会匹配请求路径为 /foo、/foo/bar、/foo/baz 等以 /foo 开始的所有路径。
3. ImplementationSpecific 路径
当需要使用 Ingress controller 特定的路径匹配机制时使用,例如 Nginx Ingress controller 会将其作为前缀匹配路径,所以:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
rules:
- http:
paths:
- path: /foo
pathType: ImplementationSpecific
backend:
serviceName: foo-svc
servicePort: 80
对于 Nginx Ingress controller 来说与 prefix 类型相同,会匹配 /foo、/foo/bar、/foo/baz 等路径。
所以路径类型主要根据你的匹配需求来选择,如果要精确匹配就选择 exact,要前缀匹配就选择 prefix 或 ImplementationSpecific 等
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。