Linkerd is a service sidecar and service mesh for Kubernetes and other frameworks. It makes running your service easier and safer by giving you runtime debugging, observability, reliability, and security–all without requiring any changes to your code.

You may be interested in our service mesh comparison article.

Linkerd has three basic components: a UI (both command-line and web-based), a data plane, and a control plane. You run Linkerd by installing the CLI on your local system, then by using the CLI to install the control plane into your cluster, and finally by adding Linkerd’s data plane to each service you want to run Linkerd on. (See Adding Your Service for more.)

Once a service is running with Linkerd, you can use Linkerd’s UI to inspect and manipulate it.

Architecture

Architecture
Architecture

 

Linkerd’s UI is comprised of a CLI (helpfully called linkerd) and a web UI. The CLI runs on your local machine; the web UI is hosted by the control plane.

The Linkerd control plane is composed of a number of services that run on your cluster and drive the behavior of the data plane. These services accomplish various things–aggregating telemetry data, providing a user-facing API, providing control data to the data plane proxies, etc. By default, they run in a dedicated linkerd namespace.

Finally, Linkerd’s data plane is comprised of ultralight, transparent proxies that are deployed in front of a service. These proxies automatically handle all traffic to and from the service. Because they’re transparent, these proxies act as highly instrumented out-of-process network stacks, sending telemetry to, and receiving control signals from, a control plane. This design allows Linkerd to measure and manipulate traffic to and from your service without introducing excessive latency.

Tell us about a new Kubernetes application

Newsletter

Never miss a thing! Sign up for our newsletter to stay updated.

About

Discover and learn about everything Kubernetes

Navigation