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