Kubernetes集群内部的Canary交通管理

时间:2020-07-27 12:17:03

标签: kubernetes istio

我正在尝试为尚未属于Istio服务网格但仍位于同一k8s集群中的应用程序实现金丝雀风格的流量管理。例如:

名称空间Pod中的

non-mesh A调用名称空间Service中的mesh B,该名称空间绑定到服务网格内的容器。理想状态是何时根据相关VirtualService对象中描述的规则分配这些Pod的流量。

Istio的本地设施可以做到这一点吗?

1 个答案:

答案 0 :(得分:1)

在Istio中,一个VirtualService对象在服务网格边车内插入一个Route规则。这些路由规则在客户端进行评估(在您的情况下,如果存在{@ 1}},则它是与Service A关联的Sidecar)。因此,您无法在Service AService B之间执行流量管理(因为没有客户端Sidecar)。如果您不想为整个non-mesh名称空间启用网格,一种解决此问题的方法是仅为Service A插入边车。这将在边车中创建所有必要的规则,然后您可以使用流量权重来修改服务A和服务B之间的请求