【发布时间】:2019-09-01 12:24:27
【问题描述】:
我正在尝试使用 istio 在我的 k8s 集群中的微服务之间进行路由。
在这个例子中,我有以下应用程序
frontend:v1 需要联系 backend:v1 frontend:v2 需要联系 backend:v2
我已经创建了所需的 istio 配置并得到了没有路由选项的响应,但是当我尝试设置路由规则以便将带有标签 app=frontend 和 version=v1 的流量路由到后端 v1 子集时,我得到一个错误 404。
这是我当前的 VirtualService 的一个示例:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: backend-vs
spec:
hosts:
- "backend.backend.svc.cluster.local"
http:
- match:
- sourceLabels:
app: frontend
version: v1
route:
- destination:
host: backend.backend.svc.cluster.local
subset: v1
port:
number: 5000
最终我希望能够控制前端的哪些版本进入后端的版本化子集,并独立地迭代这些微服务。
目前 istio 返回 404 错误。
如果我删除 sourceLabels 匹配项,我可以从前端 pod 访问后端服务。
TIA
【问题讨论】:
标签: kubernetes routing microservices istio