This edge release adds support for the `config.linkerd.io/opaque-ports` annotation on pods and namespaces, to configure ports that should skip the proxy's protocol detection. In addition, it adds new CLI commands related to the `linkerd-jaeger` extension, fixes bugs in the CLI `install` and `upgrade` commands and Helm charts, and fixes a potential false positive in the proxy's HTTP protocol detection. Finally, it includes improvements in proxy performance and memory usage, including an upgrade for the proxy's dependency on the Tokio async runtime. * Added support for the `config.linkerd.io/opaque-ports` annotation on pods and namespaces, to indicate to the proxy that some ports should skip protocol detection * Fixed an issue where `linkerd install --ha` failed to honor flags * Fixed an issue where `linkerd upgrade --ha` can override existing configs * Added missing label to the `linkerd-config-overrides` secret to avoid breaking upgrades performed with the help of `kubectl apply --prune` * Added a missing icon to Jaeger Helm chart * Added new `linkerd jaeger check` CLI command to validate that the `linkerd-jaeger` extension is working correctly * Added new `linkerd jaeger uninstall` CLI command to print the `linkerd-jaeger` extension's resources so that they can be piped into `kubectl delete` * Fixed an issue where the `linkerd-cni` daemonset may not be installed on all intended nodes, due to missing tolerations to the `linkerd-cni` Helm chart (thanks @rish-onesignal!) * Fixed an issue where the `tap` APIServer would not refresh its certs automatically when provided externally—like through cert-manager * Changed the proxy's cache eviction strategy to reduce memory consumption, especially for busy HTTP/1.1 clients * Fixed an issue in the proxy's HTTP protocol detection which could cause false positives for non-HTTP traffic * Increased the proxy's default dispatch timeout to 5 seconds to accomodate connection pools which might open conenctions without immediately making a request * Updated the proxy's Tokio dependency to v0.3 |
||
---|---|---|
.github | ||
bin | ||
charts | ||
cli | ||
cni-plugin | ||
controller | ||
grafana | ||
jaeger | ||
multicluster | ||
pkg | ||
proto | ||
proxy-identity | ||
test | ||
testutil | ||
web | ||
.dockerignore | ||
.editorconfig | ||
.gcp.json.enc | ||
.gitattributes | ||
.gitignore | ||
.golangci.yml | ||
.helmdocsignore | ||
.markdownlint.yaml | ||
.proxy-version | ||
ADOPTERS.md | ||
BUILD.md | ||
CHANGES.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
DCO | ||
Dockerfile-debug | ||
Dockerfile-proxy | ||
GOVERNANCE.md | ||
LICENSE | ||
MAINTAINERS.md | ||
README.md | ||
SECURITY.md | ||
SECURITY_AUDIT.pdf | ||
TEST.md | ||
go.mod | ||
go.sum | ||
tools.go |
README.md
Linkerd
🎈 Welcome to Linkerd! 👋
Linkerd is an ultralight, security-first service mesh for Kubernetes. Linkerd adds critical security, observability, and reliability features to your Kubernetes stack with no code change required.
Linkerd is a Cloud Native Computing Foundation (CNCF) project.
Repo layout
This is the primary repo for the Linkerd 2.x line of development.
The complete list of Linkerd repos is:
- linkerd2: Main Linkerd 2.x repo, including control plane and CLI
- linkerd2-proxy: Linkerd 2.x data plane proxy
- linkerd2-proxy-api: Linkerd 2.x gRPC API bindings
- linkerd: Linkerd 1.x
- website: linkerd.io website (including docs for 1.x and 2.x)
Quickstart and documentation
You can run Linkerd on any modern Kubernetes cluster in a matter of seconds. See the Linkerd Getting Started Guide for how.
For more comprehensive documentation, start with the Linkerd docs. (The doc source code is available in the website repo.)
Working in this repo
BUILD.md
includes general information on how to work in this repo.
We ❤️ pull requests! See CONTRIBUTING.md
for info on
contributing changes.
Get involved
- Join Linkerd's user mailing list, developer mailing list, and announcements mailing list.
- Follow @Linkerd on Twitter.
- Join the Linkerd Slack.
- Join us in the regular online community meetings!
Community meetings
We host regular online meetings for contributors, adopters, maintainers, and anyone else interested to connect in a synchronous fashion. These meetings usually take place the last Wednesday of the month at 9am Pacific / 4pm UTC.
We're a friendly group, so please feel free to join us!
Code of Conduct
This project is for everyone. We ask that our users and contributors take a few minutes to review our Code of Conduct.
Security
Security Audit
A third party security audit was performed by Cure53. You can see the full report here.
License
Copyright 2020 the 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.