Linkerd

Overview

Linkerd is an easy to use and lightweight service mesh.

Architecture

Linkerd provides a data plane that is composed of ultralight Linkerd specialised proxy sidecars. These intelligent proxies control all network traffic in and out of your meshed apps and workloads. The proxies also expose metrics via Prometheus metrics endpoints.

The control plane manages the configuration and aggregated telemetry via the following components:

  • Controller - Provides api that drives the Linkerd CLI and Dashboard. Provides configuration for proxies.

  • Tap - Establish real-time watches on requests and responses.

  • Identity - Provides identity and security capabilities that allow for mTLS between services.

  • Web - Provides the Linkerd dashboard.

The following architecture diagram demonstrates how the various components within the data plane and control plane interact.

Overview of Linkerd components and architecture.

Selection criteria

It's important to understand and consider the following areas when evaluating Linkerd for your workloads:

Design principles

The following design principles guide the Linkerd project:

  • Keep it Simple - Must be easy to use and understand.

  • Minimize Resource Requirements - Impose minimal performance and resource cost.

  • Just Work - Don't break existing applications and don't require complex configuration.

Capabilities

Linkerd provides the following set of capabilities:

  • Mesh – built in debugging option

  • Traffic Management – splitting, timeouts, retries, ingress

  • Security – encryption (mTLS), certificates autorotated every 24 hours

  • Observability – golden metrics, tap, tracing, service profiles and per route metrics, web dashboard with topology graphs, prometheus, grafana

Scenarios

Linkerd is well suited to and suggested for the following scenarios:

  • Simple to use with just the essential set of capability requirements

  • Low latency, low overhead, with focus on observability and simple traffic management

Next steps

The following documentation describes how you can install Linkerd on Azure Kubernetes Service (AKS):

You can also further explore Linkerd features and architecture: