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 canonico raggruppa i carichi di lavoro appartenenti allo stesso servizio logico ed è richiesto per la funzionalità completa della dashboard dei servizi nella console Google Cloud. 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 di servizio canonico è abilitato sul tuo cluster:
kubectl get services -n asm-system
Attiva il controller del servizio canonico nel cluster
Se il controller di servizio canonico non è abilitato, puoi attivarlo seguendo questi passaggi:
Scarica nella directory di lavoro attuale il pacchetto
kpt
che contiene il controller:kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.15 asm
Applica la configurazione del controller:
kubectl apply -f asm/canonical-service/controller.yaml
Disabilita il controller di servizio canonico nel cluster
Se vuoi disattivare il controller del servizio canonico:
Scarica il pacchetto kpt che contiene il controller nella directory di lavoro attuale:
kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.15 asm
Elimina il controller dal cluster:
kubectl delete -f asm/canonical-service/controller.yaml
Attiva il controller di servizio canonico gestito
Se preferisci non installare il controller in-cluster, puoi invece abilitare il controller di servizio canonico gestito, che esegue la stessa funzione per tutti i cluster registrati nel tuo mesh senza dover installare o gestire il controller autonomamente.
Il controller gestito è progettato per essere restituito al controller in-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 assuma il controllo. Per ulteriori informazioni, consulta la pagina Disattivare il controller del servizio canonico 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 tuo mesh.
In Google Cloud Console, vai alla pagina Funzionalità di Anthos.
Fai clic su Abilita accanto alla funzionalità "Servizio mesh"
Dopo alcuni minuti, 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 quando hai creato un nuovo cluster GKE, per impostazione predefinita è stato installato il controller di servizio canonico gestito.
Assicurati di eseguire il controller di servizi canonico gestito eseguendo il comando seguente:
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 messaggio:
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
Se hai installato Anthos Service Mesh gestito (con l'API Flet o con asmcli
), il controller di servizi canonico gestito è stato installato per impostazione predefinita.
Assicurati di eseguire il controller di servizi canonico gestito eseguendo il comando seguente:
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 messaggio:
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 per i servizi canonici
- Definizione di un servizio canonico
- Risolvere i problemi relativi ai servizi canonici