Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Abilitazione e disabilitazione del controller del servizio di canonicalizzazione
Nota: i servizi canonici sono supportati automaticamente
in Cloud Service Mesh versione 1.6.8 e successive.
Quando esegui l'installazione o l'upgrade di Cloud Service Mesh utilizzando asmcli, viene eseguito il deployment del controller del servizio di canonicalizzazione nel cluster. Il controller del servizio canonico raggruppa i workload appartenenti allo stesso servizio logico ed è necessario per la piena funzionalità della dashboard Servizi nella Google Cloud console. Il deployment del controller
crea il deployment di canonical-service-controller-manager nel cluster nello
spazio dei nomi asm-system e non influisce sui servizi o sui workload.
Se non hai utilizzato lo strumento asmcli per installare Cloud Service Mesh, è possibile che il controller del servizio di canonicalizzazione non sia abilitato sul tuo cluster. Per determinare se il controller del servizio di canonicalizzazione è abilitato nel cluster:
kubectl get services -n asm-system
Attivare il controller del servizio di canonicalizzazione all'interno del cluster
Se il controller del servizio di canonicalizzazione non è attivo, puoi attivarlo seguendo questi passaggi:
Scarica il pacchetto kpt contenente il controller nella directory di lavoro corrente:
Attivare il controller del servizio di canonicalizzazione gestito
Se preferisci non installare il controller all'interno del cluster, puoi attivare il controller del servizio Canonical gestito, che esegue la stessa funzione per tutti i cluster registrati nel tuo mesh senza che tu debba installare o gestire il controller autonomamente.
Il controller gestito è progettato per cedere il controllo al controller all'interno del cluster.
Se esegui la migrazione dal controller in cluster, devi eliminare il controller in cluster da ogni cluster su cui è in esecuzione affinché il controller gestito possa subentrare. Per ulteriori informazioni, consulta
Disattivare il controller del servizio Canonical nel cluster.
Per attivare il controller gestito:
Pagina Funzionalità di Anthos
Nella Google Cloud console, vai alla pagina Cluster di GKE Enterprise.
Fai clic su Attiva accanto alla funzionalità "Service Mesh".
Dopo alcuni minuti, il controller gestito attiva e crea servizi Canonical per i carichi di lavoro in esecuzione sui cluster registrati nel tuo mesh. Esegui
kubectl get canonicalservices --all-namespaces per verificare che siano stati creati alcuni
Servizi canonici per i carichi di lavoro nella tua mesh.
La descrizione indica che i servizi canonici sono stati riconciliati correttamente:
projects/<your project number>/locations/global/memberships/<your cluster 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'
Se la riconciliazione dei servizi Canonical non va a buon fine, verrà visualizzato un messaggio di errore o un output simile al seguente:
projects/<your project number>/locations/global/memberships/<your cluster 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.19/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
Installazione del control plane gestito
Se hai installato Cloud Service Mesh gestito (con l'API fleet o con asmcli), il controller dei servizi Canonical gestito è stato installato per impostazione predefinita.
Assicurati di eseguire il controller del servizio di canonicalizzazione gestito eseguendo il seguente comando:
La descrizione indica che i servizi canonici sono stati riconciliati correttamente:
projects/<your project number>/locations/global/memberships/<your cluster 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'
Se la riconciliazione dei servizi Canonical non va a buon fine, verrà visualizzato un messaggio di errore o un output simile al seguente:
projects/<your project number>/locations/global/memberships/<your cluster 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.19/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
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 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\nWhen you install or upgrade Cloud Service Mesh using the\n[`asmcli`](/service-mesh/v1.19/docs/unified-install/asmcli-overview), it deploys the\n[Canonical Service controller](https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages/blob/master/asm/canonical-service/controller.yaml)\nto your cluster. The Canonical Service controller groups workloads belonging to\nthe same logical service, and is required for the full functionality of\nthe Services dashboard in the Google Cloud console. Deploying the controller\ncreates the `canonical-service-controller-manager` deployment in your cluster in\nthe `asm-system` namespace, and does not affect your services or workloads.\n\nIf you didn't use the `asmcli` tool to install Cloud Service Mesh, you might not have\nthe Canonical Service controller enabled on your cluster. To determine if the\nCanonical Service controller is enabled on your cluster: \n\n kubectl get services -n asm-system\n\nEnable the in-cluster Canonical Service controller\n--------------------------------------------------\n\nIf the Canonical Service controller isn't enabled, you can enable it with\nthe following steps:\n\n1. Download the `kpt` package that contains the controller to the current working\n directory:\n\n kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.19 asm\n\n2. Apply the controller configuration:\n\n kubectl apply -f asm/canonical-service/controller.yaml\n\nDisable the in-cluster Canonical Service controller\n---------------------------------------------------\n\nIf you want to disable the Canonical Service controller:\n\n1. Download the kpt package that contains the controller to the current working\n directory:\n\n kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.19 asm\n\n2. Delete the controller from your cluster:\n\n kubectl delete -f asm/canonical-service/controller.yaml\n\nEnable the Managed Canonical Service Controller\n-----------------------------------------------\n\n| **Platform note:** Managed Canonical Service Controller is not supported on Google Distributed Cloud (includes Google Distributed Cloud and Google Distributed Cloud).\n\nIf you would prefer not to install the in-cluster controller, you can instead\nenable the Managed Canonical Service Controller, which performs the same\nfunction for all the registered clusters in your mesh without the need to\ninstall or manage the controller yourself.\n\nThe managed controller is designed to yield to the in-cluster controller.\nIf you are migrating from the in-cluster controller, you must delete the\nin-cluster controller from each cluster it is running on for the managed\ncontroller to take over. For more information, see\n[Disable the in-cluster Canonical Service controller](#disable-in-cluster-service-controller).\n\nTo enable the Managed controller: \n\n### Anthos Features Page\n\n1. In the Google Cloud console, go to the **GKE Enterprise** Clusters page.\n\n [Go to the GKE Enterprise Clusters page](https://console.cloud.google.com/anthos/clusters)\n2. \"Register\" all the clusters in your mesh.\n\n3. In the Google Cloud console, go to the **GKE Enterprise** Features page.\n\n [Go to the GKE Enterprise Features page](https://console.cloud.google.com/anthos/features)\n4. Click **Enable** next to the \"Service Mesh\" feature\n\nAfter a few minutes, the Managed controller activates and creates Canonical\nServices for the workloads running on registered clusters in your mesh. Run\n`kubectl get canonicalservices --all-namespaces` to confirm that some\nCanonical Services have been created for the workloads in your mesh.\n\n### GKE cluster creation\n\nIf you used the [**Enable Cloud Service Mesh** option when creating a new\nGKE cluster](/service-mesh/v1.19/docs/managed/install-anthos-service-mesh-console), then the\nManaged Canonical Service Controller was installed by default.\n\nEnsure you are running the Managed Canonical Service Controller by running the\nfollowing command: \n\n```\ngcloud beta container hub mesh describe --project=PROJECT_ID\n```\n\nThe description states that the Canonical Services are reconciled successfully: \n\n projects/\u003cyour project number\u003e/locations/global/memberships/\u003cyour cluster 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\nIf the Canonical Services aren't reconciled successfully, there will either be\nan error message, or an output similar to the following message: \n\n projects/\u003cyour project number\u003e/locations/global/memberships/\u003cyour cluster 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.19/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\n### Managed control plane installation\n\nIf you installed managed Cloud Service Mesh (with the\n[fleet API](/service-mesh/v1.19/docs/managed/provision-managed-anthos-service-mesh) or with\n[`asmcli`](/service-mesh/v1.19/docs/managed/provision-managed-anthos-service-mesh-asmcli)),\nthen the Managed Canonical Service Controller was installed by default.\n\nEnsure you are running the Managed Canonical Service Controller by running the\nfollowing command: \n\n```\ngcloud beta container hub mesh describe --project=PROJECT_ID\n```\n\nThe description states that the Canonical Services are reconciled successfully: \n\n projects/\u003cyour project number\u003e/locations/global/memberships/\u003cyour cluster 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\nIf the Canonical Services aren't reconciled successfully, there will either be\nan error message, or an output similar to the following message: \n\n projects/\u003cyour project number\u003e/locations/global/memberships/\u003cyour cluster 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.19/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\nWhat's next\n-----------\n\nLearn about:\n\n- [Canonical Services](/service-mesh/v1.19/docs/canonical-service)\n- [Best practices in Canonical Services](/service-mesh/v1.19/docs/canonical-service-best-practices)\n- [Defining a Canonical Service](/service-mesh/v1.19/docs/observability/defining-canonical-service)\n- [Resolving Canonical Service issues](/service-mesh/v1.19/docs/troubleshooting/troubleshoot-canonical-service)"]]