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.
Pour accéder au tableau de bord, dans la console Google Cloud , accédez à la page Configuration de la section Fonctionnalités :
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
etconfigsync.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 :
- Dans la console Google Cloud , accédez à n'importe quelle page.
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 Gemini Cloud Assist détaille également les scénarios dans lesquels les objets |
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 :
- Découvrez comment rédiger des requêtes plus efficaces.
- Découvrez comment utiliser le panneau Gemini Cloud Assist.
- Consultez la présentation de Gemini pour Google Cloud .
- Découvrez comment Gemini pour Google Cloud utilise vos données.
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
Si vous ne trouvez pas de solution à votre problème dans la documentation, consultez Obtenir de l'aide pour obtenir une assistance supplémentaire, y compris des conseils sur les sujets suivants :
- Ouvrez une demande d'assistance en contactant le service client Google Cloud.
- Obtenir de l'aide de la communauté en posant des questions sur Stack Overflow.
Si vous utilisez kpt ou Kustomize, utilisez le tag
kpt
oukustomize
pour rechercher des problèmes similaires. - Signaler des bugs ou demander des fonctionnalités à l'aide de l'outil public de suivi des problèmes sur GitHub.