流量拆分(金丝雀、蓝/绿部署)

流量拆分(金丝雀、蓝/绿部署)

Linkerd流量拆分功能允许您将目的地为 Kubernetes 服务的流量的任意部分动态转移到不同的目的地服务。此功能可用于实施复杂的部署策略,例如金丝雀部署蓝/绿部署,例如,通过缓慢地将流量从旧版本的服务转移新版本

如果使用 headless 服务,则无法检索流量拆分Linkerd 根据目标 IP 地址读取服务发现信息,如果这恰好是 pod IP 地址,则它无法判断 pod 属于哪个服务。

Linkerd 通过 Service Mesh Interface (SMI)TrafficSplit API暴露此功能。要使用此功能,您需要按照 TrafficSplit 规范中的描述创建一个 Kubernetes 资源,Linkerd 负责其余的工作。

通过将流量拆分与 Linkerd 的指标相结合,可以实现更强大的部署技术,自动考虑新旧版本的成功率延迟。有关此示例的一个示例,请参阅 Flagger 项目。

查看您可以使用流量拆分做什么的一些示例: