Ativar e desativar o controlador de serviços canónicos

Nota: os serviços canónicos são suportados automaticamente na versão 1.6.8 e superiores do Cloud Service Mesh.

Quando instala ou atualiza o Cloud Service Mesh através do asmcli, este implementa o controlador de serviços canónicos no seu cluster. O controlador de serviços canónico agrupa cargas de trabalho pertencentes ao mesmo serviço lógico e é necessário para a funcionalidade completa do painel de controlo dos serviços na consola Google Cloud . A implementação do controlador cria a implementação do canonical-service-controller-manager no seu cluster no espaço de nomes asm-system e não afeta os seus serviços nem cargas de trabalho.

Se não usou a ferramenta asmcli para instalar o Cloud Service Mesh, é possível que o controlador de serviço canónico não esteja ativado no seu cluster. Para determinar se o controlador de serviço canónico está ativado no seu cluster:

kubectl get services -n asm-system

Ative o controlador de serviço canónico no cluster

Se o controlador do serviço canónico não estiver ativado, pode ativá-lo com os seguintes passos:

  1. Transfira o pacote kpt que contém o controlador para o diretório de trabalho atual:

    kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.23 asm
    
  2. Aplique a configuração do comando:

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

Desative o controlador de serviço canónico no cluster

Se quiser desativar o controlador de serviço canónico:

  1. Transfira o pacote kpt que contém o controlador para o diretório de trabalho atual:

    kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.23 asm
    
  2. Elimine o controlador do cluster:

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

Ative o controlador de serviço canónico gerido

Se preferir não instalar o controlador no cluster, pode, em alternativa, ativar o controlador de serviços canónicos geridos, que desempenha a mesma função para todos os clusters registados na sua malha sem necessidade de instalar nem gerir o controlador.

O controlador gerido foi concebido para ceder ao controlador no cluster. Se estiver a migrar do controlador no cluster, tem de eliminar o controlador no cluster de cada cluster no qual está a ser executado para que o controlador gerido assuma o controlo. Para mais informações, consulte o artigo Desative o controlador de serviço canónico no cluster.

Para ativar o controlador gerido:

Criação de clusters do GKE

Se usou a opção Ativar Cloud Service Mesh quando criou um novo cluster do GKE, o Managed Canonical Service Controller foi instalado por predefinição.

Certifique-se de que está a executar o controlador de serviços canónico gerido executando o seguinte comando:

gcloud beta container hub mesh describe --project=PROJECT_ID

A descrição indica que os serviços canónicos foram reconciliados com êxito:

  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 os serviços canónicos não forem reconciliados com êxito, é apresentada uma mensagem de erro ou uma saída semelhante à seguinte mensagem:

  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.23/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

Instalação do plano de controlo gerido

Se instalou o Cloud Service Mesh gerido (com a API Fleet ou com o asmcli), o controlador de serviço canónico gerido foi instalado por predefinição.

Certifique-se de que está a executar o controlador de serviços canónico gerido executando o seguinte comando:

gcloud beta container hub mesh describe --project=PROJECT_ID

A descrição indica que os serviços canónicos foram reconciliados com êxito:

  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 os serviços canónicos não forem reconciliados com êxito, é apresentada uma mensagem de erro ou uma saída semelhante à seguinte mensagem:

  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.23/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

O que se segue?

Saiba mais acerca do: