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 installi o esegui l'upgrade di Cloud Service Mesh utilizzando asmcli
, viene eseguito il deployment del controller del servizio di canonicalizzazione nel tuo cluster. Il controller del servizio canonico raggruppa i carichi di lavoro appartenenti
lo stesso servizio logico ed è necessaria per la funzionalità completa
nella dashboard dei servizi nella console Google Cloud. 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 carichi di lavoro.
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 sul tuo cluster:
kubectl get services -n asm-system
Abilita il controller del servizio canonico nel cluster
Se il controller del servizio di canonicalizzazione non è attivo, puoi attivarlo seguendo questi passaggi:
Scarica il pacchetto
kpt
che contiene il controller nell'attuale pacchetto directory:kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.22 asm
Applica la configurazione del controller:
kubectl apply -f asm/canonical-service/controller.yaml
Disabilita il controller del servizio canonico nel cluster
Se vuoi disabilitare il controller del servizio canonico:
Scarica il pacchetto kpt che contiene il controller nell'attuale ambiente directory:
kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.22 asm
Elimina il controller dal cluster:
kubectl delete -f asm/canonical-service/controller.yaml
Attivare il controller del servizio di canonicalizzazione gestito
Se preferisci non installare il controller nel cluster, puoi abilitare il Managed Canonical Service Controller, che esegue le stesse funzionare per tutti i cluster registrati nel tuo mesh senza la necessità installare o gestire autonomamente il controller.
Il controller gestito è progettato per cedere al controller nel cluster. Se stai eseguendo la migrazione dal controller nel cluster, devi eliminare di ogni cluster su cui è in esecuzione per l'infrastruttura un controller di volta in volta. Per ulteriori informazioni, vedi Disabilita il controller del servizio canonico nel cluster.
Per attivare il controller gestito:
Creazione del cluster GKE
Se hai utilizzato l'opzione Abilita Cloud Service Mesh durante la creazione di una nuova nel cluster GKE, quindi Managed Canonical Service Controller è stato installato per impostazione predefinita.
Assicurati di eseguire il controller del servizio di canonicalizzazione gestito eseguendo questo comando:
gcloud beta container hub mesh describe --project=PROJECT_ID
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 i Servizi canonici non vengono riconciliati correttamente, sarà 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.22/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 di servizio Canonical gestito è stato installato per
impostazione predefinita.
Assicurati di eseguire il controller del servizio di canonicalizzazione gestito eseguendo questo comando:
gcloud beta container hub mesh describe --project=PROJECT_ID
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 i Servizi canonici non vengono riconciliati correttamente, sarà 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.22/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
Passaggi successivi
Scopri di più su:
- Servizi canonici
- Best practice per i servizi Canonical
- Definire un servizio canonico
- Risoluzione dei problemi relativi al servizio canonico