Linkerd is a service mesh for Kubernetes. It makes running services easier and safer by giving you runtime debugging, observability, reliability, and security—all without requiring any changes to your code.
For a brief introduction to the service mesh model, we recommend reading The Service Mesh: What Every Software Engineer Needs to Know about the World’s Most Over-Hyped Technology.
Linkerd is fully open source, licensed under Apache v2, and is a Cloud Native Computing Foundation graduated project. Linkerd is developed in the open in the Linkerd GitHub organization.
Linkerd has three basic components: a UI, a data plane, and a control plane. You run Linkerd by:
- Installing the CLI on your local system;
- Installing the control plane into your cluster;
- Adding your services to Linkerd’s data plane.
Once a service is running with Linkerd, you can use Linkerd’s UI to inspect and manipulate it.
You can get started in minutes!
How it works
Linkerd works by installing a set of ultralight, transparent proxies next to each service instance. 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, the control plane. This design allows Linkerd to measure and manipulate traffic to and from your service without introducing excessive latency.
In order to be as small, lightweight, and safe as possible, Linkerd’s proxies are written in Rust and specialized for Linkerd. You can learn more about the proxies in the Linkerd proxy repo.
Versions and channels
Linkerd is currently published in several tracks:
Get started with Linkerd in minutes, or check out the architecture for more details on Linkerd’s components and how they all fit together.