Présentation du dépannage

Si vous rencontrez des problèmes avec Config Sync, cette page présente des outils et procédures courants qui peuvent vous aider à identifier et à résoudre les problèmes que vous rencontrez.

Passer à une version compatible

Envisagez de mettre à niveau Config Sync vers une version compatible. La mise à niveau résout souvent les problèmes courants et vous permet d'accéder aux fonctionnalités les plus récentes. Pour vous assurer de toujours utiliser une version compatible, vous pouvez activer la mise à niveau automatique (bêta).

Utiliser l'outil de ligne de commande nomos

L'outil de ligne de commande nomos fournit des informations essentielles sur la configuration de Config Sync. Les commandes décrites dans les sections suivantes sont particulièrement utiles lorsque vous essayez de déterminer la source de votre problème ou lorsque vous devez travailler avec Cloud Customer Care.

Afficher l'état de Config Sync

La commande nomos status fournit des erreurs et des données globales pour vous aider à comprendre ce qui se passe lors de l'installation de Config Sync. Les informations suivantes sont disponibles avec nomos status :

  • État de l'installation par cluster
  • Erreurs de synchronisation (lecture à partir de Git et rapprochement des modifications)

Créer un rapport de bug

Si vous rencontrez un problème avec Config Sync qui nécessite l'aide de Cloud Customer Care, vous pouvez fournir des informations de débogage précieuses à l'aide de la commande nomos bugreport.

Cette commande génère un fichier ZIP horodaté contenant des informations sur le cluster Kubernetes défini dans votre contexte kubectl. Le fichier contient également des journaux issus des pods Config Sync. Il ne contient pas d'informations provenant des ressources synchronisées avec Config Sync.

Consulter le tableau de bord général

Le tableau de bord Config Sync vous fournit un aperçu de l'état des packages gérés par Config Sync et des ressources qu'ils contiennent. L'exploration de ce tableau de bord peut vous aider à obtenir un aperçu rapide de l'état de votre installation de Config Sync et à détecter les packages présentant des problèmes.

Utiliser la surveillance et l'analyse des journaux

La surveillance de Config Sync et l'exploration de ses journaux peuvent vous aider à déterminer la source des bugs et à mieux comprendre tout comportement inattendu.

Comprendre les métriques Config Sync

Utilisez les métriques Config Sync pour obtenir une visibilité sur l'état de Config Sync.

Surveiller les objets RootSync et RepoSync

Lorsque vous installez Config Sync à l'aide de la console Google Cloud ou de Google Cloud CLI, Config Sync crée automatiquement un objet RootSync. Lorsque vous configurez la synchronisation à partir de plusieurs dépôts, vous créez des objets RepoSync qui contiennent des informations de configuration sur vos dépôts d'espaces de noms.

L'exploration de ces objets peut révéler des informations précieuses sur l'état de Config Sync. Pour en savoir plus, consultez la section Surveiller les objets RootSync et RepoSync.

Utiliser des indicateurs de niveau de service (SLI)

Pour recevoir des notifications lorsque Config Sync ne fonctionne pas comme prévu, utilisez les SLI Config Sync.

Journaux de requête

Vous pouvez utiliser l'explorateur de journaux pour récupérer, afficher et analyser les données de journal pour Config Sync. Ces journaux peuvent contenir des données historiques précieuses qui ne sont pas capturées par nomos bugreport lorsque les pods d'opérateur ou de rapprochement sont redémarrés. Pour obtenir des exemples de requêtes susceptibles de vous aider à diagnostiquer votre problème, consultez la section Interroger les journaux Config Sync.

Examiner des ressources avec l'outil de ligne de commande kubectl

Config Sync est composé de plusieurs ressources personnalisées que vous pouvez interroger à l'aide des commandes kubectl. Ces commandes vous aident à comprendre l'état de chacun des objets Config Sync.

Vous devez connaître les informations suivantes sur les ressources Kubernetes gérées par Config Sync:

  • config-management-system est l'espace de noms que nous utilisons pour exécuter tous les composants système de Config Sync.
  • configmanagement.gke.io et configsync.gke.io sont les groupes d'API que nous utilisons pour toutes les ressources personnalisées.

Exemples

Les sections suivantes vous expliquent comment utiliser les commandes kubectl pour examiner Config Sync.

Répertorier les ressources personnalisées

  • Pour obtenir la liste complète des ressources personnalisées, exécutez la commande suivante :

    kubectl api-resources | grep -E "configmanagement.gke.io|configsync.gke.io"
    
  • Des ressources personnalisées individuelles peuvent être utilisées en exécutant la commande suivante :

    kubectl get RESOURCE -o yaml.
    

    Remplacez RESOURCE par le nom de la ressource que vous souhaitez interroger.

    Par exemple, le résultat de la commande suivante vous permet de vérifier l'état d'un objet RootSync :

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

Vérifier l'annotation token d'un objet

Vous pouvez savoir quand un objet Kubernetes géré a été mis à jour pour la dernière fois par Config Sync. Chaque objet géré est annoté avec le hachage du commit Git lors de sa dernière modification, ainsi qu'avec le chemin d'accès à la configuration contenant la modification.

Par exemple, pour obtenir l'annotation d'un ClusterRoleBinding nommé namespace-readers, exécutez la commande suivante :

kubectl get clusterrolebinding namespace-readers

Le résultat ressemble à ce qui suit :

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
...

Pour en savoir plus, consultez la section Libellés et annotations.

Consulter la documentation de dépannage supplémentaire

Si les problèmes persistent, les ressources suivantes peuvent vous être utiles :

  • Si vous avez reçu un message d'erreur, consultez la page de référence sur les erreurs pour obtenir des conseils sur la résolution de l'erreur.

  • Vérifiez si le problème que vous rencontrez est dû à un problème connu.

  • Si vous rencontrez des difficultés dans un domaine spécifique, l'un des guides de dépannage ciblés répertoriés dans la section Résoudre les problèmes par type de problème de la table des matières peut vous aider.

Étapes suivantes