check

Check the Linkerd installation for potential problems.

The check command will perform a series of checks to validate that the linkerd CLI and control plane are configured correctly. If the command encounters a failure it will print additional information about the failure and exit with a non-zero exit code.

Take a look at the troubleshooting documentation for a full list of all the possible checks, what they do and how to fix them.

Examples

# Check that the Linkerd control plane is up and running
linkerd check

# Check that the Linkerd control plane can be installed in the "test" namespace
linkerd check --pre --linkerd-namespace test

# Check that the Linkerd data plane proxies in the "app" namespace are up and running
linkerd check --proxy --namespace app

Example output

$ linkerd check
kubernetes-api
--------------
√ can initialize the client
√ can query the Kubernetes API

kubernetes-version
------------------
√ is running the minimum Kubernetes API version

linkerd-existence
-----------------
√ control plane namespace exists
√ controller pod is running
√ can initialize the client
√ can query the control plane API

linkerd-api
-----------
√ control plane pods are ready
√ control plane self-check
√ [kubernetes] control plane can talk to Kubernetes
√ [prometheus] control plane can talk to Prometheus

linkerd-service-profile
-----------------------
√ no invalid service profiles

linkerd-version
---------------
√ can determine the latest version
√ cli is up-to-date

control-plane-version
---------------------
√ control plane is up-to-date
√ control plane and cli versions match

Status check results are √

Flags

Flag Usage
--cli-version-override Used to override the version of the cli (mostly for testing)
--crds Only run checks which determine if the Linkerd CRDs have been installed
--expected-version Overrides the version used when checking if Linkerd is running the latest version (mostly for testing)
--linkerd-cni-enabled When running pre-installation checks (–pre), assume the linkerd-cni plugin is already installed, and a NET_ADMIN check is not needed
--namespace
-n
Namespace to use for –proxy checks (default: all namespaces)
--output
-o
Output format. One of: basic, json, short
--pre Only run pre-installation checks, to determine if the control plane can be installed
--proxy Only run data-plane checks, to determine if the data plane is healthy
--wait Maximum allowed time for all tests to pass