Introdução à resolução de problemas

Se estiver a ter dificuldades com a sincronização de configuração, esta página apresenta-lhe algumas ferramentas e procedimentos comuns que podem ajudar a identificar e resolver problemas que está a ter.

Atualize para uma versão suportada

Pondere atualizar o Config Sync para uma versão suportada. A atualização resolve frequentemente problemas comuns e dá-lhe acesso às funcionalidades mais recentes.

Use a ferramenta de linha de comandos nomos

A ferramenta de linha de comandos nomosfornece estatísticas essenciais sobre a configuração do Config Sync. Os comandos descritos nas secções seguintes são particularmente úteis quando está a tentar determinar a origem do problema ou quando precisa de trabalhar com o apoio técnico ao cliente da nuvem.

Veja o estado do Config Sync

O comando nomos status fornece dados agregados e erros para ajudar a compreender o que está a acontecer com a instalação do Config Sync. As seguintes informações estão disponíveis com o nomos status:

  • Estado da instalação por cluster
  • Erros de sincronização (tanto na leitura do Git como na conciliação das alterações)

Crie um relatório de erro

Se tiver um problema com a sincronização de configuração que exija ajuda do Cloud Customer Care, pode fornecer-lhe informações de depuração valiosas através do comando nomos bugreport.

Este comando gera um ficheiro ZIP com indicação de data/hora com informações sobre o conjunto de clusters do Kubernetes definido no seu contexto kubectl. O ficheiro também contém registos dos pods do Config Sync. Não contém informações dos recursos sincronizados com o Config Sync.

Veja o painel de controlo de vista geral

O painel de controlo do Config Sync oferece uma vista geral do estado dos pacotes que o Config Sync gere e o estado dos recursos nestes pacotes. A exploração deste painel de controlo pode ajudar a obter uma vista geral rápida do estado da instalação do Config Sync e descobrir pacotes com problemas.

  • Para aceder ao painel de controlo, na Google Cloud consola, aceda à página Configuração na secção Funcionalidades:

    Aceda à configuração

Use a monitorização e a análise de registos

A monitorização da sincronização de configuração e a exploração dos respetivos registos podem ajudar a determinar a origem dos erros e a compreender melhor qualquer comportamento inesperado.

Compreenda as métricas do Config Sync

Use as métricas do Config Sync para ganhar visibilidade sobre o estado do Config Sync.

Monitorize objetos RootSync e RepoSync

Quando instala o Config Sync através da Google Cloud consola ou da CLI Google Cloud, o Config Sync cria automaticamente um objeto RootSync para si. Quando configura a sincronização a partir de vários repositórios, pode criar objetos RepoSync que contêm informações de configuração sobre os seus repositórios de espaço de nomes.

A monitorização destes objetos pode revelar informações valiosas sobre o estado da sincronização de configuração. Para saber mais, consulte o artigo Monitorize objetos RootSync e RepoSync.

Use indicadores do nível de serviço (INSs)

Para receber notificações quando o Config Sync não estiver a funcionar como previsto, use os SLIs do Config Sync.

Registos de consultas

Pode usar o Explorador de registos para obter, ver e analisar dados de registos para a sincronização de configuração. Estes registos podem conter dados do histórico valiosos que não são capturados pelo nomos bugreport quando os pods do operador ou do reconciliador são reiniciados. Para ver exemplos de consultas que podem ajudar a diagnosticar o seu problema, consulte o artigo Consultar registos do Config Sync.

Examine os recursos com a ferramenta de linha de comandos kubectl

O Config Sync é composto por vários recursos personalizados que pode consultar através de comandos kubectl. Estes comandos ajudam a compreender o estado de cada um dos objetos do Config Sync.

Deve conhecer as seguintes informações sobre os recursos do Kubernetes que o Config Sync gere:

  • config-management-system é o espaço de nomes que usamos para executar todos os componentes principais do sistema do Config Sync.
  • configmanagement.gke.io e configsync.gke.io são os grupos de API que usamos para todos os recursos personalizados.

Exemplos

As secções seguintes mostram como pode usar comandos kubectl para examinar a sincronização de configuração.

Liste recursos personalizados

  • Pode obter uma lista completa dos recursos personalizados executando o seguinte comando:

    kubectl api-resources | grep -E "configmanagement.gke.io|configsync.gke.io"
    
  • Pode consumir recursos personalizados individuais executando o seguinte comando:

    kubectl get RESOURCE -o yaml.
    

    Substitua RESOURCE pelo nome do recurso que quer consultar.

    Por exemplo, o resultado do seguinte comando permite-lhe verificar o estado de um objeto RootSync:

    kubectl get rootsync -n config-management-system -o yaml
    

Verifique a anotação de símbolos de um objeto

Pode querer saber quando um objeto do Kubernetes gerido foi atualizado pela última vez pelo Config Sync. Cada objeto gerido é anotado com o hash da confirmação do Git quando foi modificado pela última vez e o caminho para a configuração que continha a modificação.

Por exemplo, para obter a anotação de um ClusterRoleBinding denominado namespace-readers, execute o seguinte comando:

kubectl get clusterrolebinding namespace-readers

O resultado é semelhante ao seguinte:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  annotations:
    configmanagement.gke.io/source-path: cluster/namespace-reader-clusterrolebinding.yaml
    configmanagement.gke.io/token: bbb6a1e2f3db692b17201da028daff0d38797771
  name: namespace-readers
...

Para mais informações, consulte as etiquetas e as anotações.

Acelere o diagnóstico com o Gemini Cloud Assist

Por vezes, a causa do problema não é imediatamente óbvia, mesmo depois de usar as ferramentas abordadas nas secções anteriores. A investigação de casos complexos pode ser demorada e requer conhecimentos especializados profundos. Para cenários como este, o Gemini Cloud Assist pode ajudar. Pode detetar automaticamente padrões ocultos, apresentar anomalias e fornecer resumos para ajudar a identificar rapidamente uma causa provável.

Aceda ao Gemini Cloud Assist

Para aceder ao Gemini Cloud Assist, conclua os seguintes passos:

  1. Na Google Cloud consola, aceda a qualquer página.
  2. Na Google Cloud barra de ferramentas da consola, clique em Abrir ou fechar chat do Gemini Cloud Assist.

    O painel Cloud Assist é aberto. Pode clicar em comandos de exemplo, se forem apresentados, ou introduzir um comando no campo Introduza um comando.

Explore exemplos de comandos

Para ajudar a compreender como o Gemini Cloud Assist pode ajudar, aqui estão alguns exemplos de comandos:

Tema Cenário Exemplo de comando Como o Gemini Cloud Assist pode ajudar
Configuração inicial Um engenheiro de plataformas está a configurar o Config Sync pela primeira vez para poder gerir clusters do GKE a partir de um repositório Git. Como posso configurar o Config Sync para sincronizar manifestos do meu repositório do GitHub com o meu cluster do GKE? O Gemini Cloud Assist fornece um guia passo a passo para configurar o Config Sync, abordando o registo da frota e a ativação da funcionalidade, e explicando detalhes como o URL do repositório, o ramo, o caminho e os métodos de autenticação (por exemplo, public, token ou ssh).
Resolução de problemas de erros de sincronização Um programador confirma um novo manifesto, mas o recurso não é aplicado ao cluster e o estado de sincronização apresenta um código de erro. O meu objeto Config Sync RootSync mostra "KNV2009: the server could not find the requested resource". O que significa e como posso corrigir este problema? O Gemini Cloud Assist analisa o código de erro, explicando que geralmente indica que o Config Sync não consegue localizar nem interagir com um recurso Kubernetes esperado. Em seguida, detalha as causas comuns, incluindo autorizações RBAC em falta, exceder os limites de tamanho dos objetos de recursos, caminhos de diretórios incorretos, conflitos de inventário externo e problemas com recursos não geridos, fornecendo passos de resolução de problemas específicos para cada causa.
Gerir várias equipas Uma organização precisa de permitir que as equipas de aplicações geram as suas próprias configurações em espaços de nomes específicos sem lhes dar acesso ao repositório central da plataforma. Qual é a diferença entre um objeto RootSync e um objeto RepoSync na sincronização de configuração? Quando devo usar RepoSync?

O Gemini Cloud Assist explica a principal diferença entre os objetos RootSync e RepoSync: os objetos RootSync têm âmbito de cluster e são normalmente usados pelos administradores para configurações ao nível do cluster, enquanto os objetos RepoSync têm âmbito de espaço de nomes e são concebidos para as equipas de aplicações gerirem recursos num espaço de nomes específico, promovendo a delegação e a multi-posse.

O Gemini Cloud Assist também detalha cenários em que os objetos RepoSync devem ser usados, enfatizando as suas vantagens para a multi-posse e reduzindo a área afetada de configurações incorretas.

Validação proativa Um programador quer garantir que o novo manifesto é válido antes de o confirmar no repositório para evitar interromper a sincronização na produção. Como posso verificar os meus manifestos do Kubernetes quanto a erros do Config Sync na minha máquina local antes de os enviar para o repositório Git? O Gemini Cloud Assist explica como verificar os manifestos do Kubernetes quanto a erros de sincronização de configuração através da ferramenta de linha de comandos nomos. Detalha como usar o comando nomos vet para a validação da sintaxe e o comando nomos hydrate para pré-visualizar as configurações renderizadas do Kustomize ou do Helm. O Gemini Cloud Assist também descreve um fluxo de trabalho recomendado para integrar estas verificações antes de enviar para o Git.

Para obter mais informações, consulte os seguintes recursos:

Use as investigações do Gemini Cloud Assist

Além do chat interativo, o Gemini Cloud Assist pode realizar análises mais automatizadas e detalhadas através das investigações do Gemini Cloud Assist. Esta funcionalidade está integrada diretamente em fluxos de trabalho, como o Explorador de registos, e é uma ferramenta de análise da causa principal dos problemas eficaz.

Quando inicia uma investigação a partir de um erro ou de um recurso específico, o Gemini Cloud Assist analisa registos, configurações e métricas. Usa estes dados para produzir observações e hipóteses classificadas sobre as prováveis causas principais e, em seguida, fornece-lhe os passos seguintes recomendados. Também pode transferir estes resultados para um registo de apoio técnico para fornecer contexto valioso que pode ajudar a resolver o seu problema mais rapidamente. Google Cloud

Para mais informações, consulte o artigo Investigações do Gemini Cloud Assist na documentação do Gemini.

Leia documentação de resolução de problemas adicional

Se continuar a ter problemas, os seguintes recursos podem ser úteis:

  • Se recebeu uma mensagem de erro, consulte a página de referência de erros para obter sugestões sobre como resolver o erro.

  • Verifique se o problema que está a ter é causado por um problema conhecido.

  • Se tiver dificuldades com uma área específica, um dos guias de resolução de problemas segmentados indicados na secção Resolva problemas por tipo da tabela de conteúdos pode ajudar.

O que se segue?