Abilitazione e disabilitazione del controller del servizio di canonicalizzazione
Nota: i servizi canonici sono supportati automaticamente in Anthos Service Mesh versione 1.6.8 e successive.
Quando installi o esegui l'upgrade di Anthos Service Mesh utilizzando
asmcli
, viene eseguito il deployment del
controller di servizio canonico
nel cluster. Il controller del servizio di canonicalizzazione raggruppa i carichi di lavoro appartenenti allo stesso servizio logico ed è richiesto per la funzionalità completa della dashboard dei servizi in Cloud Console. Il deployment del controller
crea il deployment 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 Anthos Service Mesh, è possibile che il controller del servizio canonico non sia abilitato sul tuo cluster. Per determinare se il controller del servizio canonico è abilitato sul tuo cluster:
kubectl get services -n asm-system
Abilita il controller del servizio di canonicalizzazione nel cluster
Se il controller del servizio di canonicalizzazione non è abilitato, puoi attivarlo seguendo questi passaggi:
Scarica nella directory corrente di lavoro il pacchetto
kpt
che contiene il controller:kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.13 asm
Applica la configurazione del controller:
kubectl apply -f asm/canonical-service/controller.yaml
Disabilitare il controller del servizio di canonicalizzazione nel cluster
Se vuoi disabilitare il controller del servizio di canonicalizzazione:
Scarica nella directory corrente di lavoro il pacchetto kpt contenente il controller:
kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.13 asm
Elimina il controller dal cluster:
kubectl delete -f asm/canonical-service/controller.yaml
Abilita controller di servizio canonico gestito
Se preferisci non installare il controller integrato nel cluster, puoi attivare il controller di servizio canonico gestito, che esegue la stessa funzione per tutti i cluster registrati nel mesh, senza dover installare o gestire il controller autonomamente.
Il controller gestito è progettato per essere pubblicato nel controller integrato nel cluster. Se esegui la migrazione dal controller nel cluster, devi eliminare il controller in-cluster da ogni cluster in cui viene eseguito. Per ulteriori informazioni, consulta la sezione relativa alla disattivazione del controller del servizio di canonicalizzazione nel cluster.
Per attivare il controller gestito:
Pagina Funzionalità di Anthos
In Google Cloud Console, vai alla pagina Cluster Anthos.
"Registra" tutti i cluster nel mesh.
In Google Cloud Console, vai alla pagina Funzionalità di Anthos.
Fai clic su Attiva accanto alla funzionalità " Mesh di servizi".
Dopo qualche minuto, il controller gestito attiva e crea servizi canonici per i carichi di lavoro in esecuzione sui cluster registrati nel mesh. Esegui
kubectl get canonicalservices --all-namespaces
per confermare che alcuni
servizi canonici siano stati creati per i carichi di lavoro nel tuo mesh.
Creazione del cluster GKE
Se hai utilizzato l'opzione Abilita Anthos Service Mesh durante la creazione di un nuovo cluster GKE, il controller di servizio canonico gestito è stato installato per impostazione predefinita.
Assicurati di eseguire il controller di servizio canonico 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, 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/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 piano di controllo gestito da Google
Se hai utilizzato l'opzione --managed
per configurare il Anthos Service Mesh gestito,
il controller di servizio canonico gestito è stato installato per impostazione predefinita.
Assicurati di eseguire il controller di servizio canonico 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, 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/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 nei servizi canonici
- Definizione di un servizio canonico
- Risolvere i problemi relativi al servizio canonico