Linkerd service mesh hits v2.4 with HA, traffic splitting, and more debugging help

Linkerd service mesh hits v2.4 with HA, traffic splitting, and more debugging help
istio

The team behind Linkerd has released version 2.4 of its service mesh, throwing a traffic splitting feature and service mesh interface support into the mix.

The latter is probably mainly due to the Linkerd team contributing a lot to the initiative Microsoft announced earlier this year, and is supposed to make integration with other tools easier. Traffic splitting on the other hand can be used for alternative rollout models such as canary or blue/green, since it lets users specify which amount of traffic is routed to which backend service. 

With the 2.4 release, the high availability (HA) control plane mode isn’t experimental anymore, making the feature ready for production. Meanwhile, preparations to get elements such as the proxy injector and service profile validator to a HA place as well have already started. Control plane installations for example do now generate a self-signed certificate and private key pair for each webhook.

Other than that, Linkerd’s command-line interface seems to have seen the most changes in this release, which also include a couple of not backwards compatible ones. Since the proxy injector is now always installed for example, the –proxy-auto-inject flag has been removed. Setting the version for an injected proxy sidecar is now done with –proxy-version in linkerd install, so the command replaces –linkerd-version

Version 2.4 also comes with install and upgrade stages for configurations and the control-plane, and a –from-manifests flag for linkerd upgrade to manually feed a config into the command instead of fetching one. Additional flags in linkerd inject let users output the proxy sidecar container spec, and inject a debug sidecar to get more insight into the traffic from and to a meshed pod. Speaking of debugging, those interested in learning the source, destination name, and identity for proxied connection can try the new linkerd edges command for that.

To make sure you don’t loose existing control-plane configurations and mTLS secrets, the Linkerd team recommends updating via the linkerd upgrade command.

Linkerd is an open source project hosted by the Cloud Native Computing Foundation. The project was originally developed at Buoyant, a software development company started by ex-Twitter infrastructure engineers William Morgan and Oliver Gould.