Installing Linkerd

    Note that the control plane is typically installed by using Linkerd’s CLI. See Getting Started for how to install the CLI onto your local environment.

    Note also that, once the control plane is installed, you’ll need to “mesh” any services you want Linkerd active for. See for how to add Linkerd’s data plane to your services.

    Linkerd 2.x requires a functioning Kubernetes cluster on which to run. This cluster may be hosted on a cloud provider or may be running locally via Minikube or Docker for Desktop.

    You can validate that this Kubernetes cluster is configured appropriately for Linkerd by running

    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.

    Once you have a cluster ready, generally speaking, installing Linkerd is as easy as running to generate a Kubernetes manifest, and applying that to your cluster, for example, via

    1. linkerd install | kubectl apply -f -

    Note

    Most common configuration options are provided as flags for install. See the reference documentation for a complete list of options. To do configuration that is not part of the install command, see how you can create a .

    Note

    For organizations that distinguish cluster privileges by role, jump to the Multi-stage install section.

    After installation, you can validate that the installation was successful by running:

    See .

    The config stage is intended to be run by the cluster owner, the role with more privileges. It is also the cluster owner’s responsibility to run the initial pre-install check:

    1. linkerd check --pre

    Once the pre-install check passes, install the config stage with:

    In addition to creating the linkerd namespace, this command installs the following resources onto your Kubernetes cluster:

    • ClusterRole
    • ClusterRoleBinding
    • CustomResourceDefinition
    • MutatingWebhookConfiguration
    • PodSecurityPolicy
    • Role
    • Secret
    • ServiceAccount
    • ValidatingWebhookConfiguration

    To validate the config stage succeeded, run:

    Following successful installation of the config stage, the service owner may install the control-plane with:

    This command installs the following resources onto your Kubernetes cluster, all within the linkerd namespace:

    • ConfigMap
    • Deployment
    • Secret
    • Service