kubernetes - Kubernetes 集群内的 Canary 流量管理
问题描述
我正在尝试为尚不属于 Istio 服务网格但仍在同一个 k8s 集群中的应用程序实现金丝雀式的流量管理。例如:
Pod
命名空间中的 Anon-mesh
调用命名空间中的Service
B,命名空间mesh
绑定到服务网格内的 Pod。理想的状态是当这些 pod 的流量按照相关VirtualService
对象中描述的规则进行分配时。
这可以通过 Istio 的原生设施实现吗?
解决方案
在 Istio 中,VirtualService
Objects 在服务网格边车中插入了一个 Route 规则。这些路由规则在客户端进行评估(在您的情况下,Service A
如果存在与它相关的边车,则该边车将是与之关联的边车)。因此,您无法在Service A
to之间执行流量管理Service B
(因为没有客户端 sidecar)。如果您不想为整个non-mesh
命名空间启用网格,解决此问题的一种可能方法是只为Service A
. 这将在 sidecar 中创建所有必要的规则,然后您可以使用流量权重来修改服务 A 和服务 B 之间的请求
推荐阅读
- java - 使用spring kafka与msk的连接问题
- kong - kong 请求转换器调用多个微服务 API
- python - 有没有办法将列表中的元素插入到第二个列表中的每个第 kn 个位置?
- python - Python 清理域名 - 正则表达式还是 lambda?
- excel - Filter Data Formula
- javascript - 如何在 Jest 中模拟 JSON 文件
- c++ - 使用 OpenGL 显示带有 freeglut 的 2D 文本
- .net - .NET 中的中断阻塞非托管进程
- html - 表 div 的一些异常。怎么去掉边框?
- python - 如何使用 boto 获取存储桶详细信息