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:
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
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:
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
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:
- Serviços canónicos
- Práticas recomendadas nos serviços canónicos
- Defina um serviço canónico
- Resolver problemas de serviços canónicos