Introducción a la solución de problemas

Si tienes dificultades con el Sincronizador de configuración, en esta página, se presentan algunas herramientas y procedimientos comunes que pueden ayudarte a identificar y resolver los problemas que experimentas.

Actualiza a una versión compatible.

Considera actualizar el Sincronizador de configuración a una versión compatible. La actualización suele resolver problemas comunes y te da acceso a las funcionalidades más recientes.

Usa la herramienta de línea de comandos de nomos

La herramienta de línea de comandos nomos proporciona estadísticas esenciales sobre la configuración del Sincronizador de configuración. Los comandos que se describen en las siguientes secciones son particularmente útiles cuando intentas determinar la fuente del problema o cuando necesitas trabajar con Atención al cliente de Cloud.

Consulta el estado del Sincronizador de configuración

El comando nomos status te proporciona datos y errores agregados para ayudarte a comprender lo que sucede en la instalación del Sincronizador de configuración. La siguiente información está disponible con nomos status:

  • Estado de la instalación por clúster
  • Errores de sincronización (lectura de Git y conciliación de los cambios)

Crea un informe de errores

Si tienes un problema con el Sincronizador de configuración que requiera la ayuda de Atención al cliente de Cloud, puedes proporcionarles información de depuración valiosa mediante el nomos bugreport comando.

Este comando genera un archivo ZIP con marca de tiempo que contiene información sobre el conjunto de clústeres de Kubernetes en tu contexto kubectl. El archivo contiene registros de los pods del Sincronizador de configuración. No contiene información sobre los recursos sincronizados con el Sincronizador de configuración.

Visualiza el panel de descripción general

El panel del Sincronizador de configuración te proporciona una descripción general del estado de los paquetes que administra el Sincronizador de configuración y el estado de los recursos en estos paquetes. Explorar este panel puede ayudarte a obtener una descripción general rápida del estado de tu instalación del Sincronizador de configuración y descubrir si hay paquetes con problemas.

  • Para acceder al panel, ve a la página Configuración en la sección Funciones de la Google Cloud consola de.

    Ir a Configuración

Usa la supervisión y el análisis de registros

Supervisar el Sincronizador de configuración y explorar sus registros puede ayudarte a determinar la fuente de los errores y a comprender mejor cualquier comportamiento inesperado.

Comprende las métricas del Sincronizador de configuración

Usa las métricas del Sincronizador de configuración para obtener visibilidad del estado del Sincronizador de configuración.

Supervisa objetos RootSync y RepoSync

Cuando instalas el Sincronizador de configuración con la Google Cloud consola de o Google Cloud CLI, el Sincronizador de configuración crea de forma automática un objeto RootSync por ti. Cuando configuras la sincronización desde varios repositorios, debes crear objetos RepoSync que contienen información de configuración sobre tus repositorios de espacios de nombres.

La supervisión de estos objetos puede revelar información valiosa sobre el estado del Sincronizador de configuración. Para obtener más información, consulta Supervisa los objetos RepoSync y RootSync.

Usa indicadores de nivel de servicio (SLI)

Para recibir notificaciones cuando el Sincronizador de configuración no funcione según lo previsto, usa los SLI del Sincronizador de configuración.

Registros de consultas

Puedes usar el Explorador de registros para recuperar, ver y analizar datos de registro del Sincronizador de configuración. Estos registros pueden contener datos históricos valiosos que nomos bugreport no captura cuando se reinician los pods del operador o del conciliador. Para ver ejemplos de consultas que pueden ayudarte a diagnosticar el problema, consulta Consulta los registros del Sincronizador de configuración.

Examina los recursos con la herramienta de línea de comandos de kubectl

El Sincronizador de configuración se compone de varios recursos personalizados que puedes consultar mediante los comandos kubectl. Estos comandos te ayudan a comprender el estado de cada uno de los objetos del Sincronizador de configuración.

Debes conocer la siguiente información sobre los recursos de Kubernetes que administra el Sincronizador de configuración:

  • config-management-system es el espacio de nombres que usamos para ejecutar todos los componentes principales del sistema del Sincronizador de configuración.
  • configmanagement.gke.io y configsync.gke.io son los grupos de API que usamos para todos los recursos personalizados.

Ejemplos

En las siguientes secciones, se muestra cómo puedes usar los comandos kubectl para examinar el Sincronizador de configuración.

Enumera los recursos personalizados

  • Puedes obtener una lista completa de los recursos personalizados si ejecutas el siguiente comando:

    kubectl api-resources | grep -E "configmanagement.gke.io|configsync.gke.io"
    
  • Puedes consumir recursos personalizados individuales si ejecutas el siguiente comando:

    kubectl get RESOURCE -o yaml.
    

    Reemplaza RESOURCE por el nombre del recurso que deseas consultar.

    Por ejemplo, el resultado del siguiente comando te permite verificar el estado de un objeto RootSync:

    kubectl get rootsync -n config-management-system -o yaml
    

Comprueba la anotación de token de un objeto

Se recomienda que sepas cuándo el Sincronizador de configuración actualizó por última vez un objeto de Kubernetes administrado. Cada objeto administrado se anota con el hash de la confirmación de Git la última vez que se modificó, así como con la ruta de acceso a la configuración que contenía la modificación.

Por ejemplo, para obtener la anotación de una ClusterRoleBinding llamada namespace-readers, ejecuta el siguiente comando:

kubectl get clusterrolebinding namespace-readers

El resultado es similar a este:

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
...

Para obtener más información, consulta Etiquetas y anotaciones.

Acelera el diagnóstico con Gemini Cloud Assist

A veces, la causa del problema no es obvia de inmediato, incluso después de usar las herramientas que se describen en las secciones anteriores. Investigar casos complejos puede llevar mucho tiempo y requiere una gran experiencia. Para situaciones como esta, Gemini Cloud Assist puede ayudar. Puede detectar automáticamente patrones ocultos, anomalías de la superficie y proporcionar resúmenes para ayudarte a identificar rápidamente una causa probable.

Accede a Gemini Cloud Assist

Para acceder a Gemini Cloud Assist, completa los siguientes pasos:

  1. En la Google Cloud consola de, ve a cualquier página.
  2. En la Google Cloud barra de herramientas de la consola de, haz clic en Abrir o cerrar el chat de Gemini Cloud Assist.

    Se abrirá el panel Cloud Assist. Puedes hacer clic en las instrucciones de ejemplo si se muestran o ingresar una instrucción en el campo Ingresa una instrucción.

Explora instrucciones de ejemplo

Para ayudarte a comprender cómo Gemini Cloud Assist puede ayudarte, aquí tienes algunas instrucciones de ejemplo:

Tema Situación Instrucción de ejemplo Cómo puede ayudar Gemini Cloud Assist
Configuración inicial Un ingeniero de plataforma configura el Sincronizador de configuración por primera vez para poder administrar clústeres de GKE desde un repositorio de Git. ¿Cómo configuro el Sincronizador de configuración para sincronizar manifiestos de mi repositorio de GitHub con mi clúster de GKE? Gemini Cloud Assist proporciona una guía paso a paso para configurar el Sincronizador de configuración, que abarca el registro de la flota y la habilitación de la función, y explica detalles como la URL del repositorio, la rama, la ruta de acceso y los métodos de autenticación (por ejemplo, public, token o ssh).
Solución de errores de sincronización Un desarrollador confirma un manifiesto nuevo, pero el recurso no se aplica al clúster y el estado de sincronización muestra un código de error. Mi objeto RootSync del Sincronizador de configuración muestra "KNV2009: the server could not find the requested resource". ¿Qué significa y cómo lo soluciono? Gemini Cloud Assist analiza el código de error y explica que, por lo general, indica que el Sincronizador de configuración no puede ubicar ni interactuar con un recurso de Kubernetes esperado. Luego, detalla las causas comunes, incluidos los permisos de RBAC faltantes, el exceso de límites de tamaño de objetos de recursos, las rutas de acceso a directorios incorrectas, los conflictos de inventario externos y los problemas con los recursos no administrados, y proporciona pasos específicos para solucionar problemas para cada causa.
Administración de varios equipos Una organización necesita permitir que los equipos de aplicaciones administren sus propias configuraciones en espacios de nombres específicos sin darles acceso al repositorio central de la plataforma. ¿Cuál es la diferencia entre un objeto RootSync y un objeto RepoSync en el Sincronizador de configuración? ¿Cuándo debo usar RepoSync?

Gemini Cloud Assist explica la diferencia principal entre los objetos RootSync y RepoSync: los objetos RootSync tienen alcance de clúster y, por lo general, los usan los administradores para las configuraciones de todo el clúster, mientras que los objetos RepoSync tienen alcance de espacio de nombres y están diseñados para que los equipos de aplicaciones administren recursos dentro de un espacio de nombres específico, lo que promueve la delegación y la arquitectura de múltiples usuarios.

Gemini Cloud Assist también detalla situaciones en las que se deben usar objetos RepoSync, y enfatiza sus beneficios para la arquitectura de múltiples usuarios y la reducción del área afectada de las configuraciones incorrectas.

Validación proactiva Un desarrollador quiere asegurarse de que su manifiesto nuevo sea válido antes de confirmarlo en el repositorio para evitar interrumpir la sincronización en producción. ¿Cómo puedo verificar si mis manifiestos de Kubernetes tienen errores del Sincronizador de configuración en mi máquina local antes de enviarlos al repositorio de Git? Gemini Cloud Assist explica cómo verificar si los manifiestos de Kubernetes tienen errores del Sincronizador de configuración con la herramienta de línea de comandos de nomos. Detalla cómo usar el comando nomos vet para la validación de sintaxis y el comando nomos hydrate para obtener una vista previa de las configuraciones renderizadas de Kustomize o Helm. Gemini Cloud Assist también describe un flujo de trabajo recomendado para integrar estas verificaciones antes de enviar a Git.

Para obtener más información, consulta los siguientes recursos:

Usa las investigaciones de Gemini Cloud Assist

Además del chat interactivo, Gemini Cloud Assist puede realizar análisis más automatizados y detallados a través de las investigaciones de Gemini Cloud Assist. Esta función se integra directamente en flujos de trabajo como el Explorador de registros y es una poderosa herramienta de análisis de causa raíz.

Cuando inicias una investigación a partir de un error o un recurso específico, Gemini Cloud Assist analiza registros, configuraciones y métricas. Usa estos datos para producir observaciones e hipótesis clasificadas sobre las causas raíz probables y, luego, te proporciona los próximos pasos recomendados. También puedes transferir estos resultados a un Google Cloud caso de asistencia para proporcionar un contexto valioso que pueda ayudarte a resolver el problema más rápido.

Para obtener más información, consulta Investigaciones de Gemini Cloud Assist en la documentación de Gemini.

Lee documentación adicional para solucionar problemas

Si los problemas persisten, los siguientes recursos pueden ser útiles:

  • Si recibiste un mensaje de error, consulta la página de referencia de errores para obtener asesoramiento sobre cómo resolver el error.

  • Verifica si el problema que tienes se debe a un problema conocido.

  • Si tienes dificultades con un área específica, una de las guías de solución de problemas específicas que se enumeran en la sección Soluciona problemas por tipo de problema de la tabla de contenido puede ayudarte.

¿Qué sigue?