Stay organized with collections
Save and categorize content based on your preferences.
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:
kubectlgetservices-nasm-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.
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/v1.25/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
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Enabling and disabling the Canonical Service controller\n=======================================================\n\n\n**Note:** Canonical Services are supported automatically in Cloud Service Mesh version 1.6.8 and higher.\n\nThe Canonical Service controller groups workloads belonging to the same logical\nservice and is required for the full functionality of the Services dashboard\nin the Google Cloud console.\n\nAll managed Cloud Service Mesh installations and in-cluster installations\nwith asmcli from version 1.25 provisioned with the managed Canonical Service\ncontroller. The in-cluster Canonical Service Controller has been deprecated and\nwill no longer receive updates. While existing deployments of in-cluster\ncontroller will continue to operate, we strongly recommend migrating to the\nmanaged Canonical Service Controller to ensure compatibility with future\nreleases, access to the latest features, and continued support.\n\nTo determine if the in-cluster Canonical Service controller is enabled on your\ncluster: \n\n kubectl get services -n asm-system\n\nDisable the in-cluster Canonical Service controller\n---------------------------------------------------\n\nFor existing in-cluster controller deployments, you should migrate to the managed\nCanonical Service controller. Follow the\n[migration guide](/service-mesh/v1.25/docs/canonical-service-migrate-from-in-cluster-controller).\n\nEnable the Managed Canonical Service Controller\n-----------------------------------------------\n\nIf you installed managed Cloud Service Mesh, then the Managed Canonical\nService Controller was installed by default. Also, all the in-cluster\nCloud Service Mesh installations with asmcli from version 1.25 will be\nprovisioned with the managed Canonical Service controller.\n\nEnsure you are running the Managed Canonical Service Controller by running\nthe following command:\n\nReplace FLEET_PROJECT_ID with the ID of your Fleet Host project. Generally,\nthe FLEET_PROJECT_ID has the same name as the project. \n\n gcloud beta container hub mesh describe --project FLEET_PROJECT_ID\n\n1. If the description states that the Canonical Services are reconciled\n successfully, then Manged Canonical Service Controller is operating as\n expected. No further action is required.\n\n projects/\u003cyour project number\u003e/locations/\u003clocation\u003e/memberships/\u003cmembership-name\u003e:\n code: OK\n description: |-\n Revision(s) ready for use: asm-managed.\n All Canonical Services have been reconciled successfully.\n servicemeshFeatureState: {}\n updateTime: '2021-11-16T21:10:36.289467777Z'\n\n2. If the description states that Managed Canonical Service Controller is\n yielding to the in-cluster controller, follow the [migration guide](/service-mesh/v1.25/docs/canonical-service-migrate-from-in-cluster-controller).\n\n projects/\u003cyour project number\u003e/locations/\u003clocation\u003e/memberships/\u003cmembership-name\u003e:\n code: OK\n description: |-\n Revision(s) ready for use: istiod-asm-173-6.\n The Managed Canonical Service Controller is yielding to the in-cluster controller. See https://cloud.google.com/service-mesh/v1.25/docs/canonical-service-controller-enable-and-disable#disable-in-cluster-service-controller for instructions on removing the in-cluster controller.\n servicemeshFeatureState: {}\n updateTime: '2021-11-16T21:05:43.286828851Z'\n lifecycleState: ENABLED\n\n3. For any other issues, refer to [Resolve Managed Canonical Service Controller issues](/service-mesh/v1.25/docs/troubleshooting/troubleshoot-canonical-service#resolve-managed-canonical-controller-issues) for\n troubleshooting guidance.\n\nWhat's next\n-----------\n\nLearn about:\n\n- [Canonical Services](/service-mesh/v1.25/docs/canonical-service)\n- [Best practices in Canonical Services](/service-mesh/v1.25/docs/canonical-service-best-practices)\n- [Define a Canonical Service](/service-mesh/v1.25/docs/define-canonical-service)\n- [Resolving Canonical Service issues](/service-mesh/v1.25/docs/troubleshooting/troubleshoot-canonical-service)"]]