Traffic Split (canaries, blue/green deploys)

Linkerd’s traffic split functionality allows you to dynamically shift arbitraryportions of traffic destined for a Kubernetes service to a differentdestination service. This feature can be used to implement sophisticatedrollout strategies such as canarydeployments and blue/greendeployments, forexample, by slowly easing traffic off of an older version of a service and ontoa newer version.

Linkerd exposes this functionality via the Service MeshInterface (SMI) TrafficSplitAPI. Touse this feature, you create a Kubernetes resource as described in theTrafficSplit spec, and Linkerd takes care of the rest.

By combining traffic splitting with Linkerd’s metrics, it is possible toaccomplish even more powerful deployment techniques that automatically takeinto account the success rate and latency of old and new versions. Seethe Flagger project for one example of this.

Check out some examples of what you can do with traffic splitting: