Sobre el proyecto
NVSentinel es un proyecto de código abierto de NVIDIA para la fiabilidad de la infraestructura de GPU en Kubernetes. Aborda el problema de una GPU defectuosa que corrompe silenciosamente los entrenamientos o deja nodos inactivos: el sistema detecta fallos a medida que ocurren, protege las cargas de trabajo aplicando cordón y drenaje al nodo afectado, y lo repara mediante un reinicio selectivo de GPU o un reinicio completo, devolviéndolo al servicio sin intervención manual.
Capacidades principales:
- Detección: detección de fallos en tiempo real a nivel de GPU, NIC y sistema mediante DCGM, syslog/journalctl, eventos de mantenimiento del proveedor de nube, monitoreo de objetos de Kubernetes y análisis de eventos de salud basado en patrones.
- Protección: aplicar cordón al nodo defectuoso para que el programador deje de asignarle trabajo nuevo y, opcionalmente, drenar las cargas existentes. Es posible el modo solo cordón omitiendo el drenador de nodos.
- Remediación: reparación automática mediante un trabajo privilegiado en el nodo (reinicio de GPU o del sistema), con integración opcional con la API del proveedor de nube para reinicios.
- Preflight (opcional): un contenedor init que verifica la preparación del nodo antes de que comience un trabajo, usando programación de pandilla de Kubernetes; se habilita por espacio de nombres mediante una etiqueta.
Arquitectura: módulos independientes coordinados a través de un almacén de eventos MongoDB compartido y la API de Kubernetes, sin comunicación directa entre módulos. Los monitores de salud (GPU, syslog, CSP, NIC, analizador de eventos de salud, monitor de objetos de Kubernetes) envían eventos por gRPC a conectores de plataforma, que los persisten y actualizan condiciones y eventos del nodo. Los componentes de gestión de fallos (cuarentena de fallos, drenador de nodos, remediación de fallos, conserje) reconcilian los cambios del almacén y actúan sobre la API de Kubernetes. El diseño es extensible con monitores de salud, estrategias de drenaje y acciones de remediación conectables.
Requisitos previos: Kubernetes 1.34+, Helm 3.0+, NVIDIA GPU Operator con modo independiente de DCGM habilitado (dcgm.enabled=true), cert-manager v1.21+ y almacenamiento persistente para la base de datos.
Instalación y adopción: un solo comando Helm instala o actualiza NVSentinel desde un gráfico OCI. Por defecto solo se habilita el monitoreo de salud, que no es disruptivo. Los usuarios pueden habilitar progresivamente cordón, drenaje, remediación, conserje y preflight mediante valores de Helm. Una demostración local de inyección de fallos se ejecuta en un clúster KIND sin hardware de GPU, usando DCGM simulado para demostrar detección, cuarentena y cordón.
Hardware compatible: validado en arquitecturas NVIDIA Volta, Ampere, Hopper, Ada Lovelace y Blackwell. La distribución es exclusivamente mediante el gráfico Helm OCI, imágenes de contenedor GHCR, lanzamientos de GitHub y el sitio oficial de documentación; las imágenes de contenedor incluyen SBOM CycloneDX firmado con Sigstore y atestaciones de procedencia de compilación SLSA. El proyecto está licenciado bajo Apache 2.0 y se describe como listo para pruebas de producción, con APIs y configuraciones sujetas a cambios entre versiones.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.