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
, 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 do 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, pode não ter o controlador de serviço canónico ativado no 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.25 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.25 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:
Página de funcionalidades do Anthos
Na Google Cloud consola, aceda à página Clusters do GKE Enterprise.
"Registar" todos os clusters na sua malha.
Na Google Cloud consola, aceda à página Funcionalidades do GKE Enterprise.
Clique em Ativar junto à funcionalidade "Service Mesh"
Após alguns minutos, o controlador gerido é ativado e cria serviços canónicos para as cargas de trabalho em execução em clusters registados na sua malha. Execute kubectl get canonicalservices --all-namespaces
para confirmar que foram criados alguns serviços canónicos para as cargas de trabalho na sua malha.
Criação de clusters do GKE
Se usou a opção Ativar Cloud Service Mesh quando criou um novo cluster do GKE, o controlador de serviços canónicos 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.20/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ços canónicos 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.20/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
- Definir um serviço canónico
- Resolver problemas de serviços canónicos