Abilitazione e disabilitazione del controller dei servizi canonici

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 dei servizi canonici nel cluster. Il controller dei servizi canonici raggruppa i workload appartenenti allo stesso servizio logico ed è necessario per la piena funzionalità della dashboard dei servizi nella console Google Cloud . Il deployment del controller crea il deployment canonical-service-controller-manager nel cluster all'interno dello 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, potresti non aver abilitato il controller dei servizi canonici sul tuo cluster. Per determinare se il controller dei servizi canonici è abilitato sul tuo cluster:

kubectl get services -n asm-system

Abilita il controller dei servizi canonici in-cluster

Se il controller dei servizi canonici non è abilitato, puoi abilitarlo seguendo questi passaggi:

  1. Scarica il pacchetto kpt contenente il controller nella directory di lavoro attuale:

    kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.19 asm
    
  2. Applica la configurazione del controller:

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

Disabilita il controller dei servizi canonici in-cluster

Se vuoi disabilitare il controller dei servizi canonici:

  1. Scarica il pacchetto kpt contenente il controller nella directory di lavoro attuale:

    kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.19 asm
    
  2. Elimina il controller dal cluster:

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

Abilita il controller dei servizi canonici gestito

Se preferisci non installare il controller in-cluster, puoi abilitare il controller gestito dei servizi canonici, che svolge la stessa funzione per tutti i cluster registrati nel mesh senza la necessità di installare o gestire il controller autonomamente.

Il controller gestito è progettato per cedere il controllo al controller in-cluster. Se esegui la migrazione dal controller in-cluster, devi eliminarlo da ogni cluster su cui è in esecuzione affinché venga utilizzato il controller gestito. Per ulteriori informazioni, consulta Disabilita il controller dei servizi canonici in-cluster.

Per abilitare il controller gestito:

Pagina delle funzionalità Anthos

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

    Vai alla pagina Cluster di GKE Enterprise

  2. Registra tutti i cluster nel 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 alla funzionalità "Service Mesh".

Dopo qualche minuto, il controller gestito si attiva e crea servizi canonici per i workload in esecuzione sui cluster registrati nel mesh. Esegui kubectl get canonicalservices --all-namespaces per verificare che siano stati creati alcuni servizi canonici per i workload nel mesh.

Creazione del cluster GKE

Se hai utilizzato l'opzione Abilita Cloud Service Mesh durante la creazione di un nuovo cluster GKE, il controller gestito dei servizi canonici è installato per impostazione predefinita.

Assicurati di eseguire il controller gestito dei servizi canonici eseguendo questo comando:

gcloud beta container hub mesh describe --project=PROJECT_ID

La descrizione indica che i servizi canonici sono stati riconciliati:

  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 canonici non è riuscita, viene 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 gestito dei servizi canonici è installato per impostazione predefinita.

Assicurati di eseguire il controller gestito dei servizi canonici eseguendo questo comando:

gcloud beta container hub mesh describe --project=PROJECT_ID

La descrizione indica che i servizi canonici sono stati riconciliati:

  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 canonici non è riuscita, viene 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

Passaggi successivi

Scopri di più su: