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

  1. # Check that the Linkerd control plane is up and running
  2. linkerd check
  3. # Check that the Linkerd control plane can be installed in the "test" namespace
  4. linkerd check --pre --linkerd-namespace test
  5. # Check that the Linkerd data plane proxies in the "app" namespace are up and running
  6. linkerd check --proxy --namespace app

Example output

  1. $ linkerd check
  2. kubernetes-api
  3. --------------
  4. can initialize the client
  5. can query the Kubernetes API
  6. kubernetes-version
  7. ------------------
  8. is running the minimum Kubernetes API version
  9. linkerd-existence
  10. -----------------
  11. control plane namespace exists
  12. controller pod is running
  13. can initialize the client
  14. can query the control plane API
  15. linkerd-api
  16. -----------
  17. control plane pods are ready
  18. control plane self-check
  19. [kubernetes] control plane can talk to Kubernetes
  20. [prometheus] control plane can talk to Prometheus
  21. linkerd-service-profile
  22. -----------------------
  23. no invalid service profiles
  24. linkerd-version
  25. ---------------
  26. can determine the latest version
  27. cli is up-to-date
  28. control-plane-version
  29. ---------------------
  30. control plane is up-to-date
  31. control plane and cli versions match
  32. Status check results are

Flags

FlagUsage
—cli-version-overrideUsed to override the version of the cli (mostly for testing)
—crdsOnly run checks which determine if the Linkerd CRDs have been installed
—expected-versionOverrides the version used when checking if Linkerd is running the latest version (mostly for testing)
—linkerd-cni-enabledWhen 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
—preOnly run pre-installation checks, to determine if the control plane can be installed
—proxyOnly run data-plane checks, to determine if the data plane is healthy
—waitMaximum allowed time for all tests to pass