Contenido del informe de errores de nomos

La herramienta de línea de comandos de nomos ayuda con las tareas administrativas comunes para el Sincronizador de configuración, por ejemplo, producir un archivo de diagnóstico. El resultado y el diseño exactos del archivo están sujetos a cambios y no se consideran una API. El código para nomos está disponible en el repositorio del Sincronizador de configuración.

Puedes obtener información similar de tu clúster si ejecutas kubectl get o kubectl logs, pero la ventaja de nomos bugreport es que crea un archivo de información clave sobre el sistema del Sincronizador de configuración. Cuando te comunicas con la asistencia de Google Cloud, es útil proporcionar un resultado de nomos bugreport.

También puedes usar la salida de nomos bugreport para tu propia depuración o asistencia interna.

La estructura del archivo de salida nomos bugreport se ve de la siguiente manera:

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

Esta es la información que puedes obtener de nomos bugreport:

  1. La versión de Nomos muestra la versión del Sincronizador de configuración, el resultado de nomos version.
  2. El estado de nomos muestra el resultado del estado nomos status, por ejemplo, qué confirmación se sincronizó y cualquier error.
  3. Información sobre los recursos personalizados del Sincronizador de configuración:
    1. Los recursos con permiso de clúster, como ConfigManagement y ClusterSelectors, se encuentran aquí: raw/cluster-1/cluster/configmanagement/.
    2. En el caso de los permisos de espacio de nombres, como RootSync, RepoSync y ResourceGroup, se encuentran en raw/cluster-1/namespaces/namespace-1.
  4. Recursos sincronizados y administrados por el Sincronizador de configuración:
    1. Si tienes habilitadas las API de RootSync y RepoSync, está en las especificaciones de ResourceGroup. Puedes obtener el recuento de esos recursos y su tipo, espacio de nombres y nombre.
    2. Si no tienes habilitadas las APIs de RootSync y RepoSync y especificas campos de Git en tu objeto ConfigManagement (obsoleto), el contenido completo de los recursos se encuentra en ClusterConfigs y namespaceConfigs. Debes migrar tu objeto ConfigManagement.
  5. Los registros de todos los Pods del Sincronizador de configuración se encuentran en raw/cluster-1/namespaces/pod-namespace-1/pod-name-1/container-name.txt.
  6. El contenido completo de todos los Pods del Sincronizador de configuración: en raw/cluster-1/namespaces/pod-namespace-1/pods.txt.
  7. ¿Están habilitadas las APIs de RootSync y RepoSync del Sincronizador de configuración (es decir, con el modo de varios repositorios)?
    1. Verifica el recurso ConfigManagement. Si ves spec.enableMultiRepo: true, significa que las APIs de RootSync y RepoSync están habilitadas.
    2. Si ves componentes como RootSync, RepoSync o los Pods del conciliador, significa que tienes habilitadas las APIs de RootSync y RepoSync.
    3. Si ves componentes como el Pod de git-importer, las APIs de RootSync y RepoSync no están habilitadas y debes migrar tu objeto ConfigManagement.