Créer un environnement de exécution Kubernetes validé pour NVIDIA Dynamo
Le runtime du cluster AI de NVIDIA (AICR) intègre NVIDIA Dynamo dans des recettes éprouvées afin de simplifier le déploiement sur Kubernetes. Cette approche garantit que les pilotes GPU, l’allocation dynamique des ressources et le planification en groupe fonctionnent ensemble, permettant aux équipes de passer efficacement de la configuration du modèle à un point d’extrapolation opérationnel.
Tags
Résumé rapide
Le runtime du cluster AI de NVIDIA (AICR) intègre NVIDIA Dynamo dans des recettes éprouvées afin de simplifier le déploiement sur Kubernetes. Cette approche garantit que les pilotes GPU, l’allocation dynamique des ressources et le planification en groupe fonctionnent ensemble, permettant aux équipes de passer efficacement de la configuration du modèle à un point d’extrapolation opérationnel.
Créer un environnement de exécution Kubernetes validé pour NVIDIA Dynamo
Les équipes qui développent des applications d’IA ont besoin d’un processus reproductible allant de la configuration d’un modèle à un point de terminaison d’inférence fonctionnel. NVIDIA Dynamo est un framework d’inférence distribué conçu pour coordonner le déploiement des modèles sur des nœuds GPU. Cependant, son déploiement sur Kubernetes n’est que la première étape. Un déploiement en production réussi exige que les pilotes GPU, l’allocation des ressources, le planificateur, le réseau et la surveillance fonctionnent comme une unité cohérente. Résoudre ces dépendances prend souvent du temps qui pourrait être utilisé pour tester le comportement des modèles et leurs performances de service.
Pour faire face à cette complexité, la plateforme NVIDIA DSX AI Factory introduit le NVIDIA AI Cluster Runtime (AICR). Cette plateforme regroupe NVIDIA Dynamo et son infrastructure d’accompagnement en recettes validées. Chaque recette définit une configuration spécifique pour un environnement et une charge de travail, y compris des versions de composants fixes, des contraintes de compatibilité et des vérifications de validation. AICR offre aux équipes de plateforme une méthode reproductible pour déployer et vérifier l’environnement de exécution, assurant ainsi aux développeurs une base cohérente pour servir les modèles.
Pourquoi l’environnement de exécution de base est important
Exécuter un modèle avec Dynamo sur Kubernetes commence par un DynamoGraphDeployment qui précise comment des moteurs tels que vLLM, SGLang ou NVIDIA TensorRT LLM doivent fonctionner dans des pods. Pourtant, ce diagramme ne représente que la partie supérieure de la pile. Un cluster d’inférence en production nécessite une couche d’environnement de exécution robuste en dessous pour répondre à des questions d’infrastructure essentielles :
- Le NVIDIA GPU Operator est-il installé avec une pile de pilotes correspondant aux nœuds ?
- Le cluster expose-t-il les GPU via le pilote d’allocation dynamique des ressources (DRA) attendu ?
- Le planificateur peut-il placer des nœuds GPU avec la topologie requise et les séquences de planification appropriées ?
- Les signaux d’état des nœuds sont-ils disponibles avant que des charges de travail ne soient affectées à un nœud dégradé ?
- Le chemin de l’API Gateway / Endpoint Picker (EPP) est-il configuré lorsque le déploiement doit être natif Kubernetes à l’entrée ?
AICR répond à ces problèmes en regroupant Dynamo ainsi que les composants de runtime du cluster sur lesquels il dépend en une seule unité. AICR fournit la version 1.4.2 du schéma dynamo-platform, qui comprend l’opérateur Dynamo, des images de runtime et des ressources telles que la nvidia.com/v1beta1 DynamoGraphDeployment CustomResourceDefinition (CRD). Cette version remplace l’ancienne version API v1alpha1.
La recette fixe les versions des composants et enregistre les valeurs de configuration, les sélecteurs de nœuds, les tolérances, les checksums ainsi que les attentes de validation afin d’assurer la reproductibilité du déploiement. Notamment, avec Dynamo 1.4, les frontends, les workers et les autres services se découvrent mutuellement grâce aux ressources Kubernetes. Par conséquent, le chemin Kubernetes par défaut d’AICR n’utilise plus NATS, et le schéma dynamo-platform ne l’installe plus par défaut. NATS reste disponible en tant qu’option pour les déploiements qui en ont spécifiquement besoin.
Chemins de routage et architecture
Dynamo 1.4.2 utilise TCP pour le plan des requêtes et ZMQ pour les événements du cache KV. Cette architecture permet tant au routeur natif Dynamo Frontend que à l’extension Gateway API Inference Extension (GAIE) / Plugin Endpoint Picker (EPP) de prendre des décisions de routage tenant compte du cache. Le choix entre ces chemins dépend des exigences topologiques et de gestion spécifiques du déploiement.
Chemin 1 : Routeur Dynamo Frontend
Le chemin par défaut expose un Dynamo Frontend derrière un Kubernetes Service. Lorsqu’il fonctionne avec DYN_ROUTER_MODE=kv, le Frontend tokenise chaque requête, évalue les workers aptes en fonction du chevauchement des préfixes et de la charge actuelle, sélectionne un worker et envoie la requête via le plan des requêtes Dynamo, qui utilise par défaut TCP.
Ce chemin convient lorsque l’équipe d’une application possède un endpoint spécifique au modèle ou que le proxy edge existant a uniquement besoin de rediriger le trafic vers le service Dynamo Frontend. Il représente la topologie la plus simple pour déployer et valider un graphe Dynamo et est considéré comme l’option de service la plus éprouvée en production. Il ne nécessite pas les composants supplémentaires de gateway et EPP utilisés dans le chemin 2..
Dans cette configuration, le Dynamo Frontend sélectionne un travailleur vLLM en fonction de la superposition du cache KV et de la charge. Les requêtes utilisent le plan de requête TCP, tandis que les événements du cache KV des travailleurs atteignent le Frontend via le plan d’événements basé sur ZMQ.
Chemin 2 : Extension d’inférence de l’API Gateway et Dynamo EPP
Le deuxième chemin intègre Dynamo avec l’API Gateway et l’Extension d’inférence de l’API Gateway (GAIE). Dans l’exemple AICR, agentgateway résout HTTPRoute en InferencePool. L’opérateur Dynamo crée ce InferencePool à partir de DynamoGraphDeployment ; son sélecteur identifie les pods de travailleurs éligibles, tandis que son endpointPickerRef identifie le service Dynamo EPP.
Le gateway invoque le Dynamo EPP via l’interface de sélection d’endpoint de GAIE. L’EPP tokenise la requête et utilise le routeur KV de Dynamo pour sélectionner un endpoint. Il renvoie les métadonnées de sélection et de routage à l’implémentation du gateway, qui agit comme proxy HTTP réel. Dans ce mode, chaque pod de travailleur routable inclut un sidecar Dynamo Frontend qui reçoit la requête depuis le gateway et la transmet au conteneur de travailleur local. Le Frontend fonctionne avec --router-mode direct, appliquant la sélection EPP sans reroutage.
Ce chemin est adapté lorsque l’équipe de plateforme gère un ingress Kubernetes partagé et doit configurer la sélection des endpoints de modèle, les délais d’attente, les tentatives de réessai et les solutions de secours au moyen des mécanismes de l’API Gateway. Notez que les deux approches de routage peuvent fonctionner derrière une API Gateway HTTPRoute. La différence réside dans le composant qui gère le transport vers le travailleur : le Dynamo Frontend ou le gateway lui-même.
Le flux de la recette AICR
AICR sépare la configuration en temps de exécution du déploiement de l’application grâce à un flux en cinq étapes conçu pour assurer stabilité et correction avant l’installation des charges de travail de l’application.
Étape 1 : Créer un snapshot du cluster
Le processus commence par capturer l’état actuel du cluster afin d’établir une référence pour le déploiement.
Étape 2 : Générer la recette d’inférence Dynamo
À l’aide du snapshot, le système génère une recette d’inférence Dynamo adaptée aux besoins spécifiques de l’environnement et des charges de travail.
Vérification hors ligne optionnelle
Les équipes peuvent effectuer une vérification hors ligne optionnelle pour valider la configuration de la recette avant de procéder au déploiement.
Étape 3 : Générer le bundle d’exécution
La recette validée est transformée en un bundle de déploiement, préparant tous les ressources et configurations nécessaires.
Étape 4 : Déployer l’environnement d’exécution
L’environnement d’exécution est déployé à l’aide d’outils tels que Helmfile ou GitOps. Cette étape applique la configuration au cluster, en installant l’opérateur, les images et l’infrastructure de soutien.
Étape 5 : Valider l’environnement d’exécution installé
Avant d’installer les charges de travail applicatives, il faut valider l’environnement d’exécution installé pour s’assurer que toutes les dépendances sont remplies et que le système est prêt pour l’inference.
Quelles vérifications de validation AICR ?
La validation AICR garantit que l’infrastructure répond aux exigences strictes de l’inference distribuée. Le processus de validation vérifie la présence et la correction de l’opérateur NVIDIA GPU, de la pile de pilotes correspondante, de l’exposition des GPU via le pilote d’allocation dynamique des ressources (DRA), ainsi que la disponibilité des signaux d’état des nœuds. Il vérifie également que l’API Gateway ou le chemin Endpoint Picker est correctement configuré conformément à la topologie de routage choisie.
En automatisant ces vérifications, AICR permet aux équipes de plateforme de se concentrer sur la logique applicative plutôt que sur le débogage des dépendances infrastructurelles. Cette approche soutient l’objectif plus large de la plateforme NVIDIA DSX AI Factory : aider l’écosystème à concevoir, construire et gérer des usines d’IA plus efficaces.
Conclusion
Créer un environnement d’exécution Kubernetes validé pour NVIDIA Dynamo nécessite plus que simplement déployer un graphe de modèle. Cela exige une approche coordonnée en matière de gestion de l’infrastructure, de stratégie de routage et de validation. Le NVIDIA AI Cluster Runtime (AICR) fournit le cadre nécessaire pour emballer Dynamo et ses dépendances dans des recettes reproductibles. Que ce soit en utilisant le routeur frontend natif de Dynamo pour des endpoints spécifiques aux modèles ou l’extension d’inference API Gateway pour un ingress partagé, AICR garantit que l’environnement d’exécution sous-jacent est robuste, validé et prêt pour des charges de travail en production.
Pour les équipes souhaitant rationaliser leurs opérations de « usine d’IA », l’examen du NVIDIA AI Cluster Runtime offre une voie structurée pour configurer et valider efficacement l’infrastructure d’inférence.
Source : https://developer.nvidia.com/blog/build-a-validated-kubernetes-runtime-for-nvidia-dynamo



