Ste*_*ven 5 kubernetes kubernetes-ingress kubernetes-service
在 Kubernetes 入口中,我想动态地将服务名称更改为与入口中路径的特定部分相匹配。像这样的东西:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: example
spec:
rules:
- host: example.com
http:
paths:
- path: /api/(^/+)/(.*)
backend:
serviceName: api-(&1)
servicePort: 80
Run Code Online (Sandbox Code Playgroud)
上面示例中的 &1 将解析为字符串 /api/(^/+)/(.*) 中的第一个正则表达式匹配项
因此,基本上,如果路径类似于/api/asset/fetch/anything-at-all,那么它会将调用定向到名为api-asset的服务
我知道这可能会导致一些安全问题,但如果我强制在服务名称中添加前缀“api-”,那么从技术上讲,只有带有前缀“api-”的服务才会暴露在互联网上。所有其他服务仍将在 Kubernetes 集群内受到保护。为了简单起见,我什至可以将前缀更改为“public-”。
这是可能的事吗?设置它的正确语法是什么?
归档时间: |
|
查看次数: |
407 次 |
最近记录: |