mirror of https://github.com/linkerd/website.git
100 lines
3.3 KiB
Markdown
100 lines
3.3 KiB
Markdown
---
|
|
title: Installing Linkerd
|
|
description: Install Linkerd onto your Kubernetes cluster.
|
|
---
|
|
|
|
Before you can use Linkerd, you'll need to install the [control
|
|
plane](../reference/architecture/#control-plane). This page covers how to
|
|
accomplish that.
|
|
|
|
Linkerd's control plane can be installed in two ways: with the CLI and with
|
|
Helm. The CLI is convenient and easy, but for production use cases we recommend
|
|
Helm which allows for repeatability.
|
|
|
|
{{< docs/production-note >}}
|
|
|
|
In either case, we recommend installing the CLI itself so that you can validate
|
|
the success of the installation. See the [Getting Started
|
|
Guide](../getting-started/) for how to install the CLI if you haven't done
|
|
this already.
|
|
|
|
## Requirements
|
|
|
|
Linkerd requires a Kubernetes cluster on which to run. Where this cluster lives
|
|
is not important: it might be hosted on a cloud provider, may be running on your
|
|
local machine, or even somewhere else.
|
|
|
|
Before installing the control plane, validate that this Kubernetes cluster is
|
|
configured appropriately for Linkerd by running:
|
|
|
|
```bash
|
|
linkerd check --pre
|
|
```
|
|
|
|
Be sure to address any issues that the checks identify before proceeding.
|
|
|
|
{{< note >}}
|
|
If installing Linkerd on GKE, there are some extra steps required depending on
|
|
how your cluster has been configured. If you are using any of these features,
|
|
check out the additional instructions on [GKE private
|
|
clusters](../reference/cluster-configuration/#private-clusters)
|
|
{{< /note >}}
|
|
|
|
{{< note >}}
|
|
If installing Linkerd in a cluster that uses Cilium in kube-proxy replacement
|
|
mode, additional steps may be needed to ensure service discovery works as
|
|
intended. Instrunctions are on the [Cilium cluster
|
|
configuration](../reference/cluster-configuration/#cilium) page.
|
|
{{< /note >}}
|
|
|
|
## Installing with the CLI
|
|
|
|
Once you have a cluster ready, installing Linkerd is as easy as running `linkerd
|
|
install --crds`, which installs the Linkerd CRDs, followed by `linkerd install`,
|
|
which installs the Linkerd control plane. Both of these commands generate
|
|
Kubernetes manifests, which can be applied to your cluster to install Linkerd.
|
|
|
|
For example:
|
|
|
|
```bash
|
|
# install the CRDs first
|
|
linkerd install --crds | kubectl apply -f -
|
|
|
|
# install the Linkerd control plane once the CRDs have been installed
|
|
linkerd install | kubectl apply -f -
|
|
```
|
|
|
|
This basic installation should work for most cases. However, there are some
|
|
configuration options are provided as flags for `install`. See the [CLI
|
|
reference documentation](../reference/cli/install/) for a complete list of
|
|
options. You can also use [tools like Kustomize](customize-install/) to
|
|
programmatically alter this manifest.
|
|
|
|
## Installing via Helm
|
|
|
|
To install Linkerd with Helm (recommended for production installations),
|
|
see the [Installing Linkerd with Helm](install-helm/).
|
|
|
|
## Verification
|
|
|
|
After installation (whether CLI or Helm) you can validate that Linkerd is in a
|
|
good state running:
|
|
|
|
```bash
|
|
linkerd check
|
|
```
|
|
|
|
## Next steps
|
|
|
|
Once you've installed the control plane, you may want to install some
|
|
extensions, such as `viz`, `multicluster` and `jaeger`. See [Using
|
|
extensions](extensions/) for how to install them.
|
|
|
|
Finally, once the control plane is installed, you'll need to "mesh" any services
|
|
you want Linkerd active for. See [Adding your services to
|
|
Linkerd](adding-your-service/) for how to do this.
|
|
|
|
## Uninstalling the control plane
|
|
|
|
See [Uninstalling Linkerd](uninstall/).
|