流量拆分(金丝雀、蓝/绿部署)
Linkerd
的流量拆分功能允许您将目的地为 Kubernetes
服务的流量的任意部分动态转移到不同的目的地服务。此功能可用于实施复杂的部署策略,例如金丝雀部署和蓝/绿部署,例如,通过缓慢地将流量从旧版本
的服务转移到新版本
。
如果使用
headless
服务,则无法检索流量拆分
。Linkerd
根据目标IP
地址读取服务发现信息,如果这恰好是pod IP
地址,则它无法判断pod
属于哪个服务。
Linkerd
通过 Service Mesh Interface (SMI)TrafficSplit API暴露此功能。要使用此功能,您需要按照 TrafficSplit
规范中的描述创建一个 Kubernetes
资源,Linkerd
负责其余的工作。
通过将流量拆分与 Linkerd
的指标相结合,可以实现更强大的部署技术,自动考虑新旧版本的成功率
和延迟
。有关此示例的一个示例,请参阅 Flagger 项目。
查看您可以使用流量拆分
做什么的一些示例: