Versione 1.13

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:

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

  1. 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
    
  2. 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

  1. In Google Cloud Console, vai alla pagina Cluster Anthos.

    Vai alla pagina Cluster Anthos

  2. "Registra" tutti i cluster nel mesh.

  3. In Google Cloud Console, vai alla pagina Funzionalità di Anthos.

    Vai alla pagina Funzionalità di Anthos

  4. 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: