Check control plane implementation

Run the following command to identify your cluster's control plane implementation:

gcloud container fleet mesh describe --project FLEET_PROJECT_ID 

The output is similar to the following:

 ... membershipSpecs: projects/746296320118/locations/us-central1/memberships/demo-cluster-1: mesh: management: MANAGEMENT_AUTOMATIC membershipStates: projects/746296320118/locations/us-central1/memberships/demo-cluster-1: servicemesh: controlPlaneManagement: details: - code: REVISION_READY details: 'Ready: asm-managed' state: ACTIVE implementation: TRAFFIC_DIRECTOR ... 

The possible values of the implementation are:

  • TRAFFIC_DIRECTOR: The core infrastructure of Google Cloud serves as the Cloud Service Mesh control plane.
  • ISTIOD: managed instance of istiod serves as the Cloud Service Mesh control plane.
  • UPDATING: The cluster is being migrated between implementations. Soon you will have the TRAFFIC_DIRECTOR implementation.

If you don't see controlPlaneManagement.state: ACTIVE this means you don't have a managed control plane. To confirm that you have an in-cluster control plane, check for an istiod deployment in your istio-system namespace:

kubectl -n istio-system get deploy istiod 

The output is similar to the following:

NAME READY UP-TO-DATE AVAILABLE AGE istiod 1/1 1 1 20m