Skip to content

istioctl pod troubleshooting commands should be able to determine associated control plane #22274

@esnible

Description

@esnible

In a dual control plane scenario, the istioctl troubleshooting commands should be able to identify the control plane without a new --revision <rev> argument.

The Istio sidecar injector, istio-sidecar-injector<-revision>, SHOULD record the revision of the injector within the pod metadata. (Currently it sets MESH_CONFIG to contain the name of the Istiod service, but does set the owning control plane revision). I recommend it add a "istio.io/rev" label.

Currently istioctl uses kubectl exec to find ALL Pilot pods. istioctl COULD use metadata added by the injector to distinguish between Pilot pods in the same revision as the sidecar. If we go this route, the Pilot deployment should include "istio.io/rev" (it currently doesn't).

Alternately, istioctl COULD make an additional API call to get services, to find the istiod<-revision> service with "istio.io/rev" label, and then use its selector to find the Istiod pods.

My preference is for the former, which has one less API call, but I could support either approach.

cc @howardjohn @ostromart

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/user experiencelifecycle/staleproofIndicates a PR or issue has been deemed to be immune from becoming stale and/or automatically closed

    Type

    No type

    Projects

    Status

    P1

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions