Introdução à solução de problemas

Se você tiver dificuldades com o Config Sync, esta página apresenta algumas ferramentas e procedimentos comuns que podem ajudar a identificar e resolver problemas.

Fazer upgrade para uma versão com suporte

Considere fazer upgrade do Config Sync para uma versão compatível. O upgrade geralmente resolve problemas comuns e fornece acesso às funcionalidades mais atuais. Para garantir que você tenha sempre uma versão com suporte, ative o upgrade automático (pré-lançamento).

Use a ferramenta de linha de comando nomos

A ferramenta de linha de comando nomos fornece insights essenciais sobre a configuração do Config Sync. Os comandos descritos nas seções a seguir são especialmente úteis quando você está tentando determinar a origem do problema ou precisa trabalhar com o Cloud Customer Care.

Ver o status do Config Sync

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

  • Status da instalação por cluster
  • Erros de sincronização (na leitura do Git e na reconciliação das alterações)

Criar um relatório do bug

Se você tiver um problema com o Config Sync que requer ajuda do Cloud Customer Care, forneça informações valiosas de depuração usando o comando nomos bugreport.

Esse comando gera um arquivo zip com carimbo de data / hora com informações sobre o cluster do Kubernetes definido no contexto kubectl. O arquivo contém registros dos pods do Config Sync. Ele não contém informações dos recursos sincronizados com o Config Sync.

Acesse o painel de visão geral

O painel do Config Sync oferece uma visão geral do status dos pacotes que o Config Sync gerencia e do status dos recursos nesses pacotes. Explorar esse painel pode ajudar você a ter uma visão geral rápida do status da instalação do Config Sync e descobrir pacotes com problemas.

  • Para acessar o painel, acesse a página Configuração na seção Recursos no console do Google Cloud:

    Acessar "Configuração"

Use monitoramento e análise de registros

Monitorar o Config Sync e explorar os registros pode ajudar a determinar a origem dos bugs e entender melhor qualquer comportamento inesperado.

Entender as métricas do Config Sync

Use as métricas do Config Sync para saber a integridade dele.

Monitorar objetos RootSync e RepoSync

Quando você instala o Config Sync usando o console do Google Cloud ou a Google Cloud CLI, o Config Sync cria automaticamente um objeto RootSync para você. Ao configurar a sincronização de vários repositórios, é possível criar objetos RepoSync que contêm informações de configuração sobre seus repositórios de namespace.

O monitoramento desses objetos pode revelar informações valiosas sobre o estado do Config Sync. Para saber mais, consulte Monitorar objetos RootSync e RepoSync.

Usar indicadores de nível de serviço (SLIs)

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

Registros da consulta

Use a Análise de registros para recuperar, visualizar e analisar dados de registros do Config Sync. Esses registros podem conter dados históricos valiosos que não são capturados pelo nomos bugreport quando os pods do operador ou reconciliador são reiniciados. Para exemplos de consultas que podem ajudar a diagnosticar seu problema, acesse Consultar registros do Config Sync.

Examinar recursos com a ferramenta de linha de comando kubectl

O Config Sync é composto de vários recursos personalizados que podem ser consultados usando comandos kubectl. Esses comandos ajudam você a entender o status de cada um dos objetos do Config Sync.

Você precisa conhecer as seguintes informações sobre os recursos do Kubernetes que o Config Sync gerencia:

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

Examples

As seções a seguir mostram como usar os comandos kubectl para examinar o Config Sync.

Listar recursos personalizados

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

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

    kubectl get RESOURCE -o yaml.
    

    Substitua RESOURCE pelo nome do recurso que você quer consultar.

    Por exemplo, a saída do comando a seguir permite verificar o status de um objeto RootSync:

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

Verificar a anotação de token de um objeto

É possível saber quando um objeto do Kubernetes gerenciado foi atualizado pela última vez pelo Config Sync. Cada objeto gerenciado é 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 conseguir a anotação de um ClusterRoleBinding chamado namespace-readers, execute o seguinte comando:

kubectl get clusterrolebinding namespace-readers

O resultado será assim:

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 rótulos e anotações.

Leia a documentação adicional de solução de problemas

Se você ainda tiver problemas, os recursos a seguir podem ser úteis:

  • Se você recebeu uma mensagem de erro, consulte a página de referência de erros para saber como resolvê-lo.

  • Verifique se o problema é causado por um problema conhecido.

  • Se você estiver com dificuldades em uma área específica, um dos guias de solução de problemas listados na seção Resolver problemas por tipo de problema do índice pode ajudar.

A seguir