Enabling and disabling the Canonical Service controller
Note: Canonical Services are supported automatically in Cloud Service Mesh version 1.6.8 and higher.
The Canonical Service controller groups workloads belonging to the same logical service and is required for the full functionality of the Services dashboard in the Google Cloud console.
All managed Cloud Service Mesh installations and in-cluster installations with asmcli from version 1.25 provisioned with the managed Canonical Service controller. The in-cluster Canonical Service Controller has been deprecated and will no longer receive updates. While existing deployments of in-cluster controller will continue to operate, we strongly recommend migrating to the managed Canonical Service Controller to ensure compatibility with future releases, access to the latest features, and continued support.
To determine if the in-cluster Canonical Service controller is enabled on your cluster:
kubectl get services -n asm-system
Disable the in-cluster Canonical Service controller
For existing in-cluster controller deployments, you should migrate to the managed Canonical Service controller. Follow the migration guide.
Enable the Managed Canonical Service Controller
If you installed managed Cloud Service Mesh, then the Managed Canonical Service Controller was installed by default. Also, all the in-cluster Cloud Service Mesh installations with asmcli from version 1.25 will be provisioned with the managed Canonical Service controller.
Ensure you are running the Managed Canonical Service Controller by running the following command:
Replace FLEET_PROJECT_ID with the ID of your Fleet Host project. Generally, the FLEET_PROJECT_ID has the same name as the project.
gcloud beta container hub mesh describe --project FLEET_PROJECT_ID
If the description states that the Canonical Services are reconciled successfully, then Manged Canonical Service Controller is operating as expected. No further action is required.
projects/<your project number>/locations/<location>/memberships/<membership-name>: code: OK description: |- Revision(s) ready for use: asm-managed. All Canonical Services have been reconciled successfully. servicemeshFeatureState: {} updateTime: '2021-11-16T21:10:36.289467777Z'
If the description states that Managed Canonical Service Controller is yielding to the in-cluster controller, follow the migration guide.
projects/<your project number>/locations/<location>/memberships/<membership-name>: code: OK description: |- Revision(s) ready for use: istiod-asm-173-6. The Managed Canonical Service Controller is yielding to the in-cluster controller. See https://cloud.google.com/service-mesh/docs/canonical-service-controller-enable-and-disable#disable-in-cluster-service-controller for instructions on removing the in-cluster controller. servicemeshFeatureState: {} updateTime: '2021-11-16T21:05:43.286828851Z' lifecycleState: ENABLED
For any other issues, refer to Resolve Managed Canonical Service Controller issues for troubleshooting guidance.
What's next
Learn about:
- Canonical Services
- Best practices in Canonical Services
- Define a Canonical Service
- Resolving Canonical Service issues