{{ template "chart.header" . }} {{ template "chart.description" . }} {{ template "chart.versionBadge" . }} {{ template "chart.typeBadge" . }} {{ template "chart.appVersionBadge" . }} {{ template "chart.homepageLine" . }} ## Quickstart and documentation You can run Linkerd on any Kubernetes 1.16+ cluster in a matter of seconds. See the [Linkerd Getting Started Guide][getting-started] for how. For more comprehensive documentation, start with the [Linkerd docs][linkerd-docs]. ## Prerequisite: identity certificates The identity component of Linkerd requires setting up a trust anchor certificate, and an issuer certificate with its key. These need to be provided to Helm by the user (unlike when using the `linkerd install` CLI which can generate these automatically). You can provide your own, or follow [these instructions](https://linkerd.io/2/tasks/generate-certificates/) to generate new ones. Note that the provided certificates must be ECDSA certificates. ## Adding Linkerd's Helm repository ```bash # To add the repo for Linkerd2 stable releases: helm repo add linkerd https://helm.linkerd.io/stable # To add the repo for Linkerd2 edge releases: helm repo add linkerd-edge https://helm.linkerd.io/edge ``` The following instructions use the `linkerd` repo. For installing an edge release, just replace with `linkerd-edge`. ## Installing the chart You must provide the certificates and keys described in the preceding section, and the same expiration date you used to generate the Issuer certificate. In this example we set the expiration date to one year ahead: ```bash helm install \ --set-file identityTrustAnchorsPEM=ca.crt \ --set-file identity.issuer.tls.crtPEM=issuer.crt \ --set-file identity.issuer.tls.keyPEM=issuer.key \ --set identity.issuer.crtExpiry=$(date -d '+8760 hour' +"%Y-%m-%dT%H:%M:%SZ") \ linkerd/linkerd2 ``` ## Setting High-Availability Besides the default `values.yaml` file, the chart provides a `values-ha.yaml` file that overrides some default values as to set things up under a high-availability scenario, analogous to the `--ha` option in `linkerd install`. Values such as higher number of replicas, higher memory/cpu limits and affinities are specified in that file. You can get ahold of `values-ha.yaml` by fetching the chart files: ```bash helm fetch --untar linkerd/linkerd2 ``` Then use the `-f` flag to provide the override file, for example: ```bash helm install \ --set-file identityTrustAnchorsPEM=ca.crt \ --set-file identity.issuer.tls.crtPEM=issuer.crt \ --set-file identity.issuer.tls.keyPEM=issuer.key \ --set identity.issuer.crtExpiry=$(date -d '+8760 hour' +"%Y-%m-%dT%H:%M:%SZ") \ -f linkerd2/values-ha.yaml linkerd/linkerd2 ``` ## Get involved * Check out Linkerd's source code at [GitHub][linkerd2]. * Join Linkerd's [user mailing list][linkerd-users], [developer mailing list][linkerd-dev], and [announcements mailing list][linkerd-announce]. * Follow [@linkerd][twitter] on Twitter. * Join the [Linkerd Slack][slack]. [cncf]: https://www.cncf.io/ [getting-started]: https://linkerd.io/2/getting-started/ [linkerd2]: https://github.com/linkerd/linkerd2 [linkerd-announce]: https://lists.cncf.io/g/cncf-linkerd-announce [linkerd-dev]: https://lists.cncf.io/g/cncf-linkerd-dev [linkerd-docs]: https://linkerd.io/2/overview/ [linkerd-users]: https://lists.cncf.io/g/cncf-linkerd-users [slack]: http://slack.linkerd.io [twitter]: https://twitter.com/linkerd ## Extensions for Linkerd The current chart installs the core Linkerd components, which grant you reliability and security features. Other functionality is available through extensions. Check the corresponding docs for each one of the following extensions: * Observability: [Linkerd-viz](https://github.com/linkerd/linkerd2/blob/main/viz/charts/linkerd-viz/README.md) * Multicluster: [Linkerd-multicluster](https://github.com/linkerd/linkerd2/blob/main/multicluster/charts/linkerd-multicluster/README.md) * Tracing: [Linkerd-jaeger](https://github.com/linkerd/linkerd2/blob/main/jaeger/charts/linkerd-jaeger/README.md) {{ template "chart.requirementsSection" . }} {{ template "chart.valuesSection" . }} {{ template "helm-docs.versionFooter" . }}