|
| 1 | +{{ template "chart.header" . }} |
| 2 | +{{ template "chart.description" . }} |
| 3 | + |
| 4 | +{{ template "chart.versionBadge" . }} |
| 5 | +{{ template "chart.typeBadge" . }} |
| 6 | +{{ template "chart.appVersionBadge" . }} |
| 7 | + |
| 8 | +{{ template "chart.homepageLine" . }} |
| 9 | + |
| 10 | +## Quickstart and documentation |
| 11 | + |
| 12 | +You can run Linkerd on any Kubernetes cluster in a matter of seconds. See the |
| 13 | +[Linkerd Getting Started Guide][getting-started] for how. |
| 14 | + |
| 15 | +For more comprehensive documentation, start with the [Linkerd |
| 16 | +docs][linkerd-docs]. |
| 17 | + |
| 18 | +## Prerequisite: linkerd-crds chart |
| 19 | + |
| 20 | +Before installing this chart, please install the `linkerd-crds` chart, which |
| 21 | +creates all the CRDs that the components from the current chart require. |
| 22 | + |
| 23 | +## Prerequisite: identity certificates |
| 24 | + |
| 25 | +The identity component of Linkerd requires setting up a trust anchor |
| 26 | +certificate, and an issuer certificate with its key. These need to be provided |
| 27 | +to Helm by the user (unlike when using the `linkerd install` CLI which can |
| 28 | +generate these automatically). You can provide your own, or follow [these |
| 29 | +instructions](https://linkerd.io/2/tasks/generate-certificates/) to generate new |
| 30 | +ones. |
| 31 | + |
| 32 | +Alternatively, both trust anchor and identity issuer certificates may be |
| 33 | +derived from in-cluster resources. Existing CA (trust anchor) certificates |
| 34 | +**must** live in a `ConfigMap` resource named `linkerd-identity-trust-roots`. |
| 35 | +Issuer certificates **must** live in a `Secret` named |
| 36 | +`linkerd-identity-issuer`. Both resources should exist in the control-plane's |
| 37 | +install namespace. In order to use an existing CA, Linkerd needs to be |
| 38 | +installed with `identity.externalCA=true`. To use an existing issuer |
| 39 | +certificate, Linkerd should be installed with |
| 40 | +`identity.issuer.scheme=kubernetes.io/tls`. |
| 41 | + |
| 42 | +A more comprehensive description is in the [automatic certificate rotation |
| 43 | +guide](https://linkerd.io/2.12/tasks/automatically-rotating-control-plane-tls-credentials/#a-note-on-third-party-cert-management-solutions). |
| 44 | + |
| 45 | +Note that the provided certificates must be ECDSA certificates. |
| 46 | + |
| 47 | +## Adding Linkerd's Helm repository |
| 48 | + |
| 49 | +Included here for completeness-sake, but should have already been added when |
| 50 | +`linkerd-base` was installed. |
| 51 | + |
| 52 | +```bash |
| 53 | +# To add the repo for Linkerd edge releases: |
| 54 | +helm repo add linkerd https://helm.linkerd.io/edge |
| 55 | +``` |
| 56 | + |
| 57 | +## Installing the chart |
| 58 | + |
| 59 | +You must provide the certificates and keys described in the preceding section, |
| 60 | +and the same expiration date you used to generate the Issuer certificate. |
| 61 | + |
| 62 | +```bash |
| 63 | +helm install linkerd-control-plane -n linkerd \ |
| 64 | + --set-file identityTrustAnchorsPEM=ca.crt \ |
| 65 | + --set-file identity.issuer.tls.crtPEM=issuer.crt \ |
| 66 | + --set-file identity.issuer.tls.keyPEM=issuer.key \ |
| 67 | + linkerd/linkerd-control-plane |
| 68 | +``` |
| 69 | + |
| 70 | +Note that you require to install this chart in the same namespace you installed |
| 71 | +the `linkerd-base` chart. |
| 72 | + |
| 73 | +## Setting High-Availability |
| 74 | + |
| 75 | +Besides the default `values.yaml` file, the chart provides a `values-ha.yaml` |
| 76 | +file that overrides some default values as to set things up under a |
| 77 | +high-availability scenario, analogous to the `--ha` option in `linkerd install`. |
| 78 | +Values such as higher number of replicas, higher memory/cpu limits and |
| 79 | +affinities are specified in that file. |
| 80 | + |
| 81 | +You can get ahold of `values-ha.yaml` by fetching the chart files: |
| 82 | + |
| 83 | +```bash |
| 84 | +helm fetch --untar linkerd/linkerd-control-plane |
| 85 | +``` |
| 86 | + |
| 87 | +Then use the `-f` flag to provide the override file, for example: |
| 88 | + |
| 89 | +```bash |
| 90 | +helm install linkerd-control-plane -n linkerd \ |
| 91 | + --set-file identityTrustAnchorsPEM=ca.crt \ |
| 92 | + --set-file identity.issuer.tls.crtPEM=issuer.crt \ |
| 93 | + --set-file identity.issuer.tls.keyPEM=issuer.key \ |
| 94 | + -f linkerd2/values-ha.yaml |
| 95 | + linkerd/linkerd-control-plane |
| 96 | +``` |
| 97 | + |
| 98 | +## Get involved |
| 99 | + |
| 100 | +* Check out Linkerd's source code at [GitHub][linkerd2]. |
| 101 | +* Join Linkerd's [user mailing list][linkerd-users], [developer mailing |
| 102 | + list][linkerd-dev], and [announcements mailing list][linkerd-announce]. |
| 103 | +* Follow [@linkerd][twitter] on Twitter. |
| 104 | +* Join the [Linkerd Slack][slack]. |
| 105 | + |
| 106 | +[getting-started]: https://linkerd.io/2/getting-started/ |
| 107 | +[linkerd2]: https://github.com/linkerd/linkerd2 |
| 108 | +[linkerd-announce]: https://lists.cncf.io/g/cncf-linkerd-announce |
| 109 | +[linkerd-dev]: https://lists.cncf.io/g/cncf-linkerd-dev |
| 110 | +[linkerd-docs]: https://linkerd.io/2/overview/ |
| 111 | +[linkerd-users]: https://lists.cncf.io/g/cncf-linkerd-users |
| 112 | +[slack]: http://slack.linkerd.io |
| 113 | +[twitter]: https://twitter.com/linkerd |
| 114 | + |
| 115 | +## Extensions for Linkerd |
| 116 | + |
| 117 | +The current chart installs the core Linkerd components, which grant you |
| 118 | +reliability and security features. Other functionality is available through |
| 119 | +extensions. Check the corresponding docs for each one of the following |
| 120 | +extensions: |
| 121 | + |
| 122 | +* Observability: |
| 123 | + [Linkerd-viz](https://github.com/linkerd/linkerd2/blob/main/viz/charts/linkerd-viz/README.md) |
| 124 | +* Multicluster: |
| 125 | + [Linkerd-multicluster](https://github.com/linkerd/linkerd2/blob/main/multicluster/charts/linkerd-multicluster/README.md) |
| 126 | + |
| 127 | +{{ template "chart.requirementsSection" . }} |
| 128 | + |
| 129 | +{{ template "chart.valuesSection" . }} |
| 130 | + |
| 131 | +{{ template "helm-docs.versionFooter" . }} |
0 commit comments