Como ativar e desativar o controlador de serviço canônico
Observação: os serviços canônicos têm suporte automático no Cloud Service Mesh versão 1.6.8 e superior.
Quando você instala ou faz upgrade do Cloud Service Mesh usando o asmcli
, ele implanta o
controlador de serviço canônico
no cluster. O controlador de serviço canônico agrupa as cargas de trabalho que pertencem
o mesmo serviço lógico e é necessário para a funcionalidade plena do
no painel "Serviços" no console do Google Cloud. A implantação do controlador
cria a implantação do canonical-service-controller-manager
no cluster no
namespace asm-system
. Isso não afeta seus serviços ou cargas de trabalho.
Se você não usou a ferramenta asmcli
para instalar o Cloud Service Mesh, talvez
não têm o controlador de serviço canônico ativado no cluster. Para determinar
Se o controlador de serviço canônico estiver ativado no cluster:
kubectl get services -n asm-system
Ativar o controlador de serviço canônico no cluster
Se o controlador de serviço canônico não estiver ativado, será possível ativá-lo com os passos a seguir:
Faça o download do 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.22 asm
Aplique a configuração do controlador:
kubectl apply -f asm/canonical-service/controller.yaml
Desativar o controlador de serviço canônico no cluster
Se você quiser desativar o controlador de serviço canônico:
Faça o download do pacote kpt que contém o controlador no diretório de trabalho atual:
kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.22 asm
Exclua o controlador do cluster:
kubectl delete -f asm/canonical-service/controller.yaml
Ativar o controlador de serviço canônico gerenciado
Se preferir não instalar o controlador no cluster, ative o controlador de serviço canônico gerenciado, que executa a mesma função para todos os clusters registrados na malha sem a necessidade de instalar ou gerenciar o controlador por conta própria.
O controlador gerenciado foi projetado para funcionar no controlador no cluster. Se você estiver migrando do controlador no cluster, será necessário excluir o controlador no cluster de cada cluster em execução para que o controlador gerenciado assuma o controle. Para mais informações, consulte Desativar o controlador de serviço canônico no cluster.
Para ativar o controlador gerenciado:
Criação de cluster do GKE
Se você usou a opção Ativar o Cloud Service Mesh ao criar um novo cluster do GKE, o O controlador de serviço canônico gerenciado foi instalado por padrão.
Verifique se você está executando o controlador de serviço canônico gerenciado executando o seguinte comando:
gcloud beta container hub mesh describe --project=PROJECT_ID
A descrição indica que os Serviços canônicos são reconciliados com sucesso:
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, haverá 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.21/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 controle gerenciado
Se você instalou o Cloud Service Mesh gerenciado (com a API frota ou com
asmcli
, o controlador de serviço canônico gerenciado foi instalado pela
padrão.
Verifique se você está executando o controlador de serviço canônico gerenciado executando o seguinte comando:
gcloud beta container hub mesh describe --project=PROJECT_ID
A descrição indica que os Serviços canônicos são reconciliados com sucesso:
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, haverá 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.21/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
A seguir
Saiba mais sobre:
- Serviços canônicos
- Práticas recomendadas para serviços canônicos
- Definir um serviço canônico
- Como resolver problemas com serviços canônicos