Open
Description
What is the issue?
Attempting to run linkerd check --proxy
results in the same operation as the linkerd check
control-plane checks.
I cannot get any validation of the data plane checks, even when trying to isolate to a namespace with -n
flag.
How can it be reproduced?
linkerd check --proxy
Logs, error output, etc
example:
$ linkerd check --proxy -n main --wait 5s --verbose
kubernetes-api
--------------
√ can initialize the client
√ can query the Kubernetes API
kubernetes-version
------------------
√ is running the minimum Kubernetes API version
linkerd-existence
-----------------
√ 'linkerd-config' config map exists
√ heartbeat ServiceAccount exist
√ control plane replica sets are ready
√ no unschedulable pods
√ control plane pods are ready
DEBU[0002] Skipping check: cluster networks contains all node podCIDRs. Reason: skipping check because the nodes aren't exposing podCIDR
√ cluster networks contains all pods
√ cluster networks contains all services
linkerd-config
--------------
√ control plane Namespace exists
√ control plane ClusterRoles exist
√ control plane ClusterRoleBindings exist
√ control plane ServiceAccounts exist
× control plane CustomResourceDefinitions exist
missing egressnetworks.policy.linkerd.io
see https://linkerd.io/2/checks/#l5d-existence-crd for hints
linkerd-jaeger
--------------
√ linkerd-jaeger extension Namespace exists
√ jaeger extension pods are injected
√ jaeger injector pods are running
‼ jaeger extension proxies are healthy
Some pods do not have the current trust bundle and must be restarted:
* jaeger-injector-765ccfbb5-dmc2r
see https://linkerd.io/2/checks/#l5d-jaeger-proxy-healthy for hints
‼ jaeger extension proxies are up-to-date
some proxies are not running the current version:
* jaeger-injector-765ccfbb5-dmc2r (edge-24.10.2)
see https://linkerd.io/2/checks/#l5d-jaeger-proxy-cp-version for hints
‼ jaeger extension proxies and cli versions match
jaeger-injector-765ccfbb5-dmc2r running edge-24.10.2 but cli running edge-24.10.5
see https://linkerd.io/2/checks/#l5d-jaeger-proxy-cli-version for hints
Status check results are ×
output of linkerd check -o short
$ linkerd check -o short --wait 5s
linkerd-config
--------------
× control plane CustomResourceDefinitions exist
missing egressnetworks.policy.linkerd.io
see https://linkerd.io/2/checks/#l5d-existence-crd for hints
linkerd-jaeger
--------------
‼ jaeger extension proxies are healthy
Some pods do not have the current trust bundle and must be restarted:
* jaeger-injector-765ccfbb5-dmc2r
see https://linkerd.io/2/checks/#l5d-jaeger-proxy-healthy for hints
‼ jaeger extension proxies are up-to-date
some proxies are not running the current version:
* jaeger-injector-765ccfbb5-dmc2r (edge-24.10.2)
see https://linkerd.io/2/checks/#l5d-jaeger-proxy-cp-version for hints
‼ jaeger extension proxies and cli versions match
jaeger-injector-765ccfbb5-dmc2r running edge-24.10.2 but cli running edge-24.10.5
see https://linkerd.io/2/checks/#l5d-jaeger-proxy-cli-version for hints
Status check results are ×
Environment
K8s 1.30 (AWS EKS)
$ linkerd version
Client version: edge-24.10.5
Server version: edge-24.10.2
Possible solution
No response
Additional context
This workflow is critically essential for this administrative task of rotating the trust anchor cert bundle, otherwise we cannot readily identify if any meshed pods still need to be restarted to pick up the latest trust anchor https://linkerd.io/2-edge/tasks/manually-rotating-control-plane-tls-credentials/
Would you like to work on fixing this bug?
no