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.

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 pouvez créer 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.

Accélérer le diagnostic avec Gemini Cloud Assist

Parfois, la cause de votre problème n'est pas immédiatement évidente, même après avoir utilisé les outils décrits dans les sections précédentes. L'examen des cas complexes peut prendre du temps et nécessite une expertise approfondie. Dans ce type de scénario, Gemini Cloud Assist peut vous aider. Elle peut détecter automatiquement les tendances cachées, identifier les anomalies et fournir des résumés pour vous aider à identifier rapidement une cause probable.

Accéder à Gemini Cloud Assist

Pour accéder à Gemini Cloud Assist, procédez comme suit :

  1. Dans la console Google Cloud , accédez à n'importe quelle page.
  2. Dans la barre d'outils de la console Google Cloud , cliquez sur Ouvrir ou fermer le chat Gemini Cloud Assist.

    Le panneau Cloud Assist s'ouvre. Vous pouvez cliquer sur les exemples de requêtes (s'ils s'affichent) ou saisir une requête dans le champ Saisissez une requête.

Découvrir des exemples de requêtes

Pour vous aider à comprendre comment Gemini Cloud Assist peut vous aider, voici quelques exemples de requêtes :

Thème Scénario Exemple de prompt Ce que Gemini Cloud Assist peut vous apporter
Configuration initiale Un ingénieur de plate-forme configure Config Sync pour la première fois afin de pouvoir gérer les clusters GKE à partir d'un dépôt Git. Comment configurer Config Sync pour synchroniser les fichiers manifestes de mon dépôt GitHub avec mon cluster GKE ? Gemini Cloud Assist fournit un guide pas à pas pour configurer Config Sync, qui couvre l'enregistrement du parc et l'activation de la fonctionnalité, et explique des détails tels que l'URL du dépôt, la branche, le chemin d'accès et les méthodes d'authentification (par exemple, public, token ou ssh).
Résoudre les erreurs de synchronisation Un développeur valide un nouveau fichier manifeste, mais la ressource ne s'applique pas au cluster et l'état de synchronisation affiche un code d'erreur. Mon objet RootSync Config Sync affiche "KNV2009: the server could not find the requested resource". Qu'est-ce que cela signifie et comment résoudre le problème ? Gemini Cloud Assist analyse le code d'erreur et explique qu'il indique généralement que Config Sync ne parvient pas à localiser une ressource Kubernetes attendue ni à interagir avec elle. Il détaille ensuite les causes courantes, y compris les autorisations RBAC manquantes, le dépassement des limites de taille des objets de ressources, les chemins d'accès aux répertoires incorrects, les conflits d'inventaire externes et les problèmes liés aux ressources non gérées, en fournissant des étapes de dépannage spécifiques pour chaque cause.
Gérer plusieurs équipes Une organisation doit permettre aux équipes d'application de gérer leurs propres configurations dans des espaces de noms spécifiques sans leur donner accès au dépôt central de la plate-forme. Quelle est la différence entre un objet RootSync et un objet RepoSync dans Config Sync ? Quand utiliser RepoSync ?

Gemini Cloud Assist explique la principale différence entre les objets RootSync et RepoSync : les objets RootSync sont à l'échelle du cluster et généralement utilisés par les administrateurs pour les configurations à l'échelle du cluster, tandis que les objets RepoSync sont à l'échelle de l'espace de noms et conçus pour que les équipes d'application gèrent les ressources dans un espace de noms spécifique, ce qui favorise la délégation et le multitenancy.

Gemini Cloud Assist détaille également les scénarios dans lesquels les objets RepoSync doivent être utilisés, en soulignant leurs avantages pour le multitenancy et la réduction de la zone affectée par les erreurs de configuration.

Validation proactive Un développeur souhaite s'assurer que son nouveau fichier manifeste est valide avant de l'envoyer au dépôt pour éviter de casser la synchronisation en production. Comment vérifier si mes fichiers manifestes Kubernetes contiennent des erreurs Config Sync sur ma machine locale avant de les transférer vers le dépôt Git ? Gemini Cloud Assist explique comment vérifier les erreurs Config Sync dans les fichiers manifestes Kubernetes à l'aide de l'outil de ligne de commande nomos. Il explique comment utiliser la commande nomos vet pour valider la syntaxe et la commande nomos hydrate pour prévisualiser les configurations rendues à partir de Kustomize ou Helm. Gemini Cloud Assist décrit également un workflow recommandé pour intégrer ces vérifications avant d'envoyer les modifications à Git.

Pour en savoir plus, consultez les ressources suivantes :

Utiliser les investigations Gemini Cloud Assist

En plus du chat interactif, Gemini Cloud Assist peut effectuer des analyses plus approfondies et automatisées grâce aux investigations Gemini Cloud Assist. Cette fonctionnalité est intégrée directement aux workflows tels que l'explorateur de journaux. Il s'agit d'un outil puissant d'analyse des causes premières.

Lorsque vous lancez une investigation à partir d'une erreur ou d'une ressource spécifique, Gemini Cloud Assist analyse les journaux, les configurations et les métriques. Il utilise ces données pour générer des observations et des hypothèses classées sur les causes racines probables, puis vous fournit les prochaines étapes recommandées. Vous pouvez également transférer ces résultats vers une demande d'assistance Google Cloud pour fournir un contexte utile qui peut vous aider à résoudre votre problème plus rapidement.

Pour en savoir plus, consultez Investigations Gemini Cloud Assist dans la documentation Gemini.

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