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: table, 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 |