🎈 Welcome to Linkerd2! 👋
Linkerd2 is an ultralight service mesh, designed to make modern applications safe and sane by transparently adding service discovery, load balancing, failure handling, instrumentation, and routing to all inter-service communication.
Linkerd2 (pronouned "linker-DEE-two") acts as a transparent HTTP/gRPC/thrift/tcp/etc proxy, and can be deployed alongside existing applications regardless of what language they're written in. It works with many common protocols and utilizes Kubernetes as a backend for service discovery.
It is separated into two major components: the control plane and the data plane. The control plane interacts with the service discovery backend, orchestrates the data plane and is written in Go. The data plane runs alongside existing applications, provides the proxy that manages traffic itself and is written in Rust.
Currently, Linkerd2 is capable of proxying all TCP traffic, including WebSockets and HTTP tunneling, along with reporting top-line metrics (success rates, latencies, etc) for all HTTP, HTTP/2, and gRPC traffic.
Linkerd is hosted by the Cloud Native Computing Foundation (CNCF).
- Users mailing list: Linkerd2 user discussion mailing list.
- Developers mailing list: Linkerd2 development discussion mailing list.
- Announcements mailing list: Linkerd2 announcements only (low volume).
- Follow @linkerd on Twitter.
- Join the #linkerd2 channel on the Linkerd Slack.
View Linkerd2 docs for more a more comprehensive guide to getting started, or use the instructions below.
-
Install the Linkerd2 CLI with
curl https://run.linkerd.io/install | sh
. -
Add
$HOME/.linkerd2/bin
to yourPATH
. -
Install Linkerd2 into your Kubernetes cluster with
linkerd install | kubectl apply -f -
. -
Verify that the installation succeeded with
linkerd check
. -
Explore the Linkerd2 controller dashboard with
linkerd dashboard
. -
Optionally, install a demo application to run with Linkerd2.
-
Add your own service to the Linkerd2 mesh!
BUILD.md
includes general information on how to work in this repo.
We ❤️ pull requests! See CONTRIBUTING.md
for info on
contributing changes.
There are some projects used by Linkerd2 that are not part of this repo.
- linkerd2-proxy -- High-performance data plane, injected as a sidecar with every service.
- linkerd2-proxy-api -- gRPC API bindings for the proxy.
This project is for everyone. We ask that our users and contributors take a few minutes to review our code of conduct.
Copyright 2018, Linkerd Authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.