Resolva problemas do Cloud Service Mesh passo a passo
Esta secção explica como resolver problemas quando usa o Cloud Service Mesh. Se precisar de assistência adicional, consulte a secção Receber apoio técnico.
Passos de resolução de problemas
Siga estes passos gerais para resolver problemas do Cloud Service Mesh:
- Use as ferramentas de validação de configuração automática.
- Verifique se tem um problema comum com uma solução conhecida.
- Restrinja o âmbito do problema.
- Reveja os registos e as informações relevantes.
- Recolha registos de diagnóstico e procure ajuda.
A ferramenta de diagnóstico da malha de serviços na nuvem pode detetar problemas de configuração comuns. Instale a ferramenta de resolução de problemas seguindo estas instruções.
Antes de começar
- Certifique-se de que o contexto kubeconfig do cluster está disponível no ficheiro kubeconfig. Caso contrário, execute o seguinte comando: - gcloud container clusters get-credentials CLUSTER_NAME \ --location=CLUSTER_LOCATION --project=PROJECT_NAME- Substitua o seguinte: - CLUSTER_NAME: o nome do cluster.
- CLUSTER_LOCATION: a zona ou a região do seu cluster.
- PROJECT_NAME: o nome do projeto.
 
- Verifique se as Credenciais padrão da aplicação foram criadas. Se não estiverem, execute um dos seguintes comandos: - gcloud auth application-default login --billing-project=PROJECT_NAME- gcloud auth application-default set-quota-project PROJECT_NAME- Substituir - PROJECT_NAMEpelo nome do seu projeto.
Veja o estado do plano de controlo
Os seguintes comandos podem ajudar a compreender o estado do plano de controlo do Cloud Service Mesh:
Gerido
- Obtenha a lista do estado da ligação dos clientes ao plano de controlo da Cloud Service Mesh: - gcloud beta container fleet mesh debug proxy-status \ --membership=MEMBERSHIP_NAME \ --location=MEMBERSHIP_LOCATION \ --project=PROJECT_NAME- Substitua o seguinte: - MEMBERSHIP_NAME: o nome da sua subscrição.
- MEMBERSHIP_LOCATION: a região da sua subscrição. Pode verificar a localização da sua subscrição com o comando- gcloud container fleet memberships list --project FLEET_PROJECT_IDsubstituindo- FLEET_PROJECT_IDpelo ID do projeto da frota.
- PROJECT_NAME: o nome do projeto.
 - A tabela seguinte descreve as possíveis respostas. - DESCONHECIDO - (Predefinição) As informações de estado não estão disponíveis ou são desconhecidas. - SYNCED - O plano de controlo enviou a configuração para o cliente e recebeu um ACK do cliente. - ERRO - O plano de controlo enviou a configuração para o cliente e recebeu um NACK do cliente. - DESATUALIZADO - O plano de controlo enviou a configuração ao cliente, mas não recebeu um ACK nem um NACK do cliente. - NÃO ENVIADO - A configuração não foi enviada. - N/A - Não aplicável. - Não suportado - O estado de sincronização não é suportado pela nossa API de resolução de problemas. 
No cluster
- kubectl get pods -n istio-system
- kubectl describe -n istio-system
- Para todos os agrupamentos em istio-system: kubectl logs -n istio-system -l istio --all-containers
- istioctl version
- istioctl proxy-status
- kubectl get configmap istio -o yaml && kubectl get configmap istio-sidecar-injector -o yaml
- kubectl top pods -n istio-system
Use os seguintes comandos para compreender a escala da implementação:
- kubectl get nodes
- kubectl get services --all-namespaces
- kubectl get pods --all-namespaces
Veja as configurações de proxy
O seguinte comando pode ajudar a compreender as configurações do proxy do Cloud Service Mesh:
Gerido
gcloud beta container fleet mesh debug proxy-config POD_NAME.NAMESPACE \ 
    --type=TYPE \
    --membership=MEMBERSHIP_NAME \
    --location=MEMBERSHIP_LOCATION \
    --project=PROJECT_NAME
- POD_NAME: o nome do seu Pod.
- NAMESPACE: o espaço de nomes do seu Pod.
- TYPE: um dos seguintes: cluster, listeners, routes, endpoints, bootstrap, log, secret, all.
- MEMBERSHIP_NAME: o nome da sua subscrição.
- MEMBERSHIP_LOCATION: a região da sua subscrição. Pode verificar a localização da sua subscrição com o comando- gcloud container fleet memberships list --project FLEET_PROJECT_IDsubstituindo- FLEET_PROJECT_IDpelo ID do projeto da frota.
- PROJECT_NAME: o nome do projeto.
No cluster
Use o istioctl proxy-config para ver as configurações de proxy para planos de controlo no cluster. Para mais informações, consulte o artigo
Depurar o Envoy e o istiod.
Se o problema persistir, consulte a secção seguinte para verificar se o seu problema já é conhecido.
Verifique problemas e soluções comuns
Pode poupar tempo ao verificar se os seus sintomas correspondem a um problema nestas secções de problemas e resoluções comuns, agrupadas por área funcional do Cloud Service Mesh:
- Problemas de instalação
- Problemas do plano de controlo gerido
- Problemas de observabilidade
- Problemas deGoogle Cloud implementação
- Problemas de proxy
- Problemas de recursos
- Problemas de dimensionamento
- Problemas de segurança
- Problemas de gestão de tráfego
- Problemas com o webhook
- Problemas com proxies complementares
Se isto não resolver o problema, consulte a secção seguinte.
Restrinja o âmbito do problema
A malha de serviços na nuvem consiste em várias tecnologias que funcionam em conjunto, o que significa que determinados tipos de problemas estão associados a áreas funcionais ou componentes específicos. Cada um destes componentes gera os seus próprios registos úteis. Antes de tentar analisar manualmente o volume de informações que fornecem, restrinja o âmbito da resolução de problemas respondendo às seguintes perguntas:
- O problema ocorre no plano de controlo ou no plano de dados, por exemplo, proxies istiodou Envoy?
- Em que área funcional está a ter o problema, por exemplo, rede, telemetria, segurança, etc.?
- Existe uma perda de tráfego ao nível da malha de serviços ou numa implementação específica?
- O problema aparece ou agrava-se devido à incapacidade de dimensionar o tráfego na malha de serviços?
- O problema causa latência ou outros problemas de desempenho?
- Consegue reproduzir o problema a pedido?
- O problema começou após uma alteração de configuração recente no Istio, GKE, etc.?
- Existe um aumento ou um pico no tráfego na malha de serviços?
- Este cluster tem funcionalidades notáveis ativadas ou implementações não típicas?
- Observa uma utilização elevada da CPU ou da memória? Se sim, qual é a utilização esperada em grande escala?
- Existem restrições de quota a ter em conta?
Reveja os registos e as informações relevantes
Depois de restringir o âmbito do problema, pode concentrar-se em determinados registos e informações de forma mais eficaz. Para saber mais acerca dos registos que o Cloud Service Mesh gera e como interpretar as informações que contêm, consulte o artigo Interpretar registos do Cloud Service Mesh.