Abilitazione e disabilitazione del controller del servizio di canonicalizzazione

Nota: i servizi canonici sono supportati automaticamente in Cloud Service Mesh 1.6.8 e versioni successive.

Quando installi o esegui l'upgrade di Cloud Service Mesh utilizzando asmcli, esegue il deployment Titolare del servizio canonico nel cluster. Il controller del servizio canonico raggruppa i carichi di lavoro appartenenti lo stesso servizio logico ed è necessaria per la funzionalità completa alla dashboard dei servizi nella console Google Cloud. Deployment del controller crea il deployment canonical-service-controller-manager nel tuo cluster in lo 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, potresti non avere il controller del servizio canonico abilitato sul tuo cluster. Per determinare se Il controller di servizio canonico è abilitato sul tuo cluster:

kubectl get services -n asm-system

Abilita il controller del servizio canonico nel cluster

Se il controller del servizio canonico non è abilitato, puoi abilitarlo con segui questi passaggi:

  1. 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.21 asm
    
  2. 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:

  1. 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.21 asm
    
  2. Elimina il controller dal cluster:

    kubectl delete -f asm/canonical-service/controller.yaml
    

Abilitare Managed Canonical Service Controller

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 abilitare il controller gestito:

Pagina delle funzionalità di Anthos

  1. Nella console Google Cloud, vai alla pagina Cluster di GKE Enterprise.

    Vai alla pagina Cluster di GKE Enterprise

  2. "Registrati" a tutti i cluster della tua rete mesh.

  3. Nella console Google Cloud, vai alla pagina Funzionalità di GKE Enterprise.

    Vai alla pagina Funzionalità di GKE Enterprise

  4. Fai clic su Abilita accanto a "Mesh di servizi". funzionalità

Dopo alcuni minuti, il controller gestito si attiva e crea la versione canonica Servizi per i carichi di lavoro in esecuzione su cluster registrati nel tuo mesh. Corsa kubectl get canonicalservices --all-namespaces per verificare che alcune Sono stati creati i servizi canonici per i carichi di lavoro nel tuo mesh.

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 di servizi canonici gestiti eseguendo seguente 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.20/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 Cloud Service Mesh gestito (con fleet API o con asmcli), il Controller di servizio canonico gestito è stato installato per impostazione predefinita.

Assicurati di eseguire il controller di servizi canonici gestiti eseguendo seguente 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.20/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: