Linkerd Service Mesh Control Plane
repository·main·Indexed Apr 15, 2026
https://github.com/linkerd/linkerd2Official repository for Linkerd, an ultralight, security-first service mesh for Kubernetes. Contains Helm charts, source code, and CLI tools for deploying the control plane, including the linkerd-crds chart and policy-test crate. Supports High-Availability, Multicluster extensions, and CNI plugins. Features include built-in mTLS, observability, and reliability mechanisms. Includes build scripts for Docker images via buildx, a Helm wrapper (v3.18.4), and local development tools for the Web Dashboard.
What's inside linkerd2
Linkerd Overview
mainLinkerd is an ultralight, security-first service mesh for Kubernetes. It adds critical security, observability, and reliability features to your Kubernetes stack with no code change required.Documentation & Resources
main- Getting Started: Linkerd Getting Started Guide
- Full Documentation: Linkerd Docs
- Source Code: GitHub Repository
- Go Reference: pkg.go.dev
Fix Deprecated Go Package Warnings
mainWarnings about deprecated Go packages in controller container logs have been fixed. Upgrading to this version will clean up your logs.
Sources:
CHANGES.mdGetting Started
mainYou can run Linkerd on any modern Kubernetes cluster in a matter of seconds.Update Grafana Integration for External Instances
mainThe Linkerd Viz extension no longer ships with a Grafana image. Instead, users can import Linkerd dashboards from the Linkerd org into their own Grafana instances. The dashboard now supports externally hosted Grafana instances.
Steps to Use External Grafana:
- Install your own Grafana instance.
- Import Linkerd dashboards from the Linkerd org.
- Configure the
DS_PROMETHEUSdatasource in the dashboards to point to your Prometheus instance.
Refer to the official documentation for detailed instructions.
Sources:
CHANGES.mdConfigure Proxy Resource Limits
mainUse the
--proxy-cpuand--proxy-memoryflags with thelinkerd installandlinkerd injectcommands to configure CPU and memory requests for the proxy container.linkerd install --proxy-cpu=100m --proxy-memory=128Mi | kubectl apply -f -This allows you to control the resource allocation for your proxies and prevent resource contention in your cluster.
Sources:
CHANGES.mdConfigure Skip Inbound and Outbound Ports with Ranges
mainThe
linkerd installandlinkerd injectcommands now support both port numbers and port ranges for the--skip-inbound-portsand--skip-outbound-portsflags. This allows you to skip proxy injection for specific ports or ranges of ports.Examples:
# Skip specific ports linkerd install --skip-inbound-ports 8080,9090 # Skip port ranges linkerd install --skip-inbound-ports 8000-8099 # Combine numbers and ranges linkerd install --skip-inbound-ports 8080,9000-9099This feature was introduced in edge-20.1.1 and provides more flexibility in configuring which ports should bypass the proxy.
linkerd install --skip-inbound-ports 8080,9000-9099Sources:
CHANGES.mdRun Dashboard Development Server
mainTo test the Linkerd dashboard locally, first install Yarn and set up web dependencies:
brew install yarn # if not already installed bin/web setupStart the dashboard in one of two ways:
Standalone mode:
bin/web runWebpack Dev Server mode:
bin/web devThe dashboard will be available at
localhost:7777.bin/web runSources:
TEST.mdInstall Linkerd with Go 1.12.9 Requirement
mainThe build process for Linkerd controller components now requires Go version
1.12.9or higher to include necessary security fixes. If you are building Linkerd from source, ensure your Go environment meets this requirement.Check your Go version:
go versionIf needed, upgrade Go to version 1.12.9 or later.
go versionSources:
CHANGES.mdInstall Linkerd Control Plane with Custom Identity Trust Anchors
mainTo install the Linkerd control plane using Helm with custom identity trust anchors, add the stable repository and install the CRDs and control plane components. This process requires providing the CA certificate, issuer certificate, and issuer key as files.
Run the following commands to set up the repository and install the components:
helm repo add linkerd https://helm.linkerd.io/stable helm repo up helm install linkerd-crds -n linkerd --create-namespace linkerd/linkerd-crds helm install linkerd-control-plane \ -n linkerd \ --set-file identityTrustAnchorsPEM=ca.crt \ --set-file identity.issuer.tls.crtPEM=issuer.crt \ --set-file identity.issuer.tls.keyPEM=issuer.key \ linkerd/linkerd-control-planeEnsure you have the
ca.crt,issuer.crt, andissuer.keyfiles available in your current directory before running the installation.helm repo add linkerd https://helm.linkerd.io/stable helm repo up helm install linkerd-crds -n linkerd --create-namespace linkerd/linkerd-crds helm install linkerd-control-plane \ -n linkerd \ --set-file identityTrustAnchorsPEM=ca.crt \ --set-file identity.issuer.tls.crtPEM=issuer.crt \ --set-file identity.issuer.tls.keyPEM=issuer.key \ linkerd/linkerd-control-planeSources:
CHANGES.mdJaeger Extension
mainProvides distributed tracing.
# Install linkerd jaeger install | kubectl apply -f - # List pods with tracing enabled linkerd jaeger list # Check installation linkerd check --extension jaeger