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 production 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 de 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 d'informations clés sur le système Config Sync. Lorsque vous contactez Google Cloud l'assistance, il est utile de fournir nomos bugreport le résultat.

Vous pouvez également utiliser la sortie de nomos bugreport pour votre propre débogage ou pour l'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

Informations que vous pouvez obtenir à partir de nomos bugreport :

  1. La version Nomos affiche la version de Config Sync, la sortie de nomos version.
  2. L'état Nomos affiche le résultat de l'état nomos status, par exemple le commit synchronisé et les erreurs éventuelles.
  3. Informations sur les ressources personnalisées de Config Sync :
    1. Pour les ressources à portée de cluster telles que ConfigManagement et ClusterSelectors, elles se trouvent ici : raw/cluster-1/cluster/configmanagement/.
    2. Pour celles à portée d'espace de noms, telles que RootSync, RepoSync et ResourceGroup, elles 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, elles se trouvent dans la spécification de ResourceGroup. Vous pouvez obtenir le nombre de ces ressources, ainsi que leur type, 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), le contenu complet 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. Le contenu complet de tous les pods Config Sync se trouve sous raw/cluster-1/namespaces/pod-namespace-1/pods.txt.
  7. Les API Config Sync RootSync et RepoSync sont-elles activées (c'est-à-dire en mode multi-dépôt) ou non ?
    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 des pods RootSync, RepoSync ou de rapprochement, les API RootSync et RepoSync sont activées.
    3. Si vous voyez des composants tels que le pod git-importer, les API RootSync et RepoSync ne sont pas activées et vous devez migrer votre objet ConfigManagement.