Skip to content

linkerd check --proxy CLI command isn't working #13306

Open
@tstraley

Description

@tstraley

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions