【问题标题】:Istio Version Based Routing Causing 404基于 Istio 版本的路由导致 404
【发布时间】: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


    【解决方案1】:

    我只能通过使服务适应前端 Pod 并在类似情况下在我的测试环境中添加相关标签来使这条路由与 sourceLabels: 匹配条件一起工作;目前已知问题#7787

    【讨论】:

      猜你喜欢
      • 2015-08-13
      • 2015-04-07
      • 2014-07-12
      • 1970-01-01
      • 2022-11-06
      • 2021-08-10
      • 2020-07-02
      • 2021-05-20
      • 2014-09-29
      相关资源
      最近更新 更多