contenu du rapport de bug nomos

L'outil de ligne de commande nomos facilite les tâches d'administration courantes pour Config Sync, par exemple la création d'une archive de diagnostic. La sortie et la mise en page exactes de l'archive sont susceptibles d'être modifiées et ne sont pas considérées comme une API. Le code pour nomos est disponible dans le dépôt Config Sync.

Vous pouvez obtenir des informations similaires à partir de votre cluster en exécutant kubectl get ou kubectl logs, mais l'avantage de nomos bugreport est qu'il crée une archive des informations clés sur le système Config Sync. Lorsque vous contactez l'assistance Google Cloud, il est utile de fournir une sortie nomos bugreport.

Vous pouvez également utiliser la sortie de nomos bugreport pour votre propre débogage ou votre assistance interne.

La structure du fichier de sortie nomos bugreport se présente comme suit:

- raw/
  - cluster/
    - configmanagement/
  - namespaces/
    - config-management-monitoring/
    - config-management-system/
    - gatekeeper-system/
    - resource-group-system/
    - kube-system/
- processed/
  - status.txt
  - version.txt

Les informations que vous pouvez obtenir de nomos bugreport:

  1. La version de Nomos affiche la version de Config Sync, qui est la sortie de nomos version.
  2. L'état Nomos affiche la sortie de l'état nomos status, par exemple le commit synchronisé et les erreurs éventuelles.
  3. Informations sur les ressources personnalisées Config Sync :
    1. Pour les ressources à l'échelle d'un cluster telles que ConfigManagement et ClusterSelector, accédez à raw/cluster-1/cluster/configmanagement/.
    2. Pour ceux à l'échelle d'un espace de noms, tels que RootSync, RepoSync et ResourceGroup, ils se trouvent ici: raw/cluster-1/namespaces/namespace-1.
  4. Ressources synchronisées et gérées par Config Sync :
    1. Si les API RootSync et RepoSync sont activées, cela se trouve dans la spécification de ResourceGroup. Vous pouvez obtenir le nombre de ces ressources, ainsi que leur genre, leur espace de noms et leur nom.
    2. Si les API RootSync et RepoSync ne sont pas activées et que vous spécifiez des champs Git dans votre objet ConfigManagement (obsolète), l'intégralité du contenu des ressources se trouve dans ClusterConfigs et namespaceConfigs. Vous devez migrer votre objet ConfigManagement.
  5. Les journaux de tous les pods Config Sync se trouvent sous raw/cluster-1/namespaces/pod-namespace-1/pod-name-1/container-name.txt.
  6. Contenu complet de tous les pods Config Sync: sous raw/cluster-1/namespaces/pod-namespace-1/pods.txt.
  7. Les API RootSync et RepoSync de Config Sync sont-elles activées (c'est-à-dire en utilisant le mode multidépôt) ?
    1. Vérifiez la ressource ConfigManagement. Si vous voyez spec.enableMultiRepo: true, les API RootSync et RepoSync sont activées.
    2. Si vous voyez des composants tels que RootSync, RepoSync ou des pods de rapprochement, cela signifie que les API RootSync et RepoSync sont activées.
    3. Si vous voyez des composants tels que le pod git-importer, cela signifie que les API RootSync et RepoSync ne sont pas activées. Vous devez donc migrer votre objet ConfigManagement.