Utiliser les fGPU avec OKS
Vous pouvez utiliser des GPU NVIDIA dans vos clusters OKS grâce à l’allocation de flexible GPU (fGPU). La configuration adéquate de vos node pools permet à vos worker nodes d’allouer, d’attacher et d’utiliser des fGPU. Pour en savoir plus, voir À propos des flexible GPU et Référence des manifestes de node pool.
OKS prend actuellement en charge deux modèles de configuration des GPU :
-
Le modèle « flavored » (recommandé) : l’image du nœud ne contient pas de pilotes GPU et nécessite leur installation séparée (par exemple à l’aide de l’opérateur GPU NVIDIA).
-
Le modèle hérité : les pilotes GPU sont préinstallés dans l’image du nœud et configurés via le champ
fgpu.
Le comportement des paramètres fgpu dépend donc du modèle de configuration choisi.
Activer la prise en charge de GPU avec votre manifeste de node pool
Utiliser le modèle « flavored »
Le dernier modèle introduit des node pools GPU basés sur des images de nœuds « flavored », c’est-à-dire-des variantes d’images de nœuds. Ces images ne contiennent pas de pilotes GPU ; vous devez donc les installer après la création du node pool.
Pour utiliser ce modèle, vous devez appliquer à votre node pools un manifeste Kubernetes qui spécifie un nodeType compatible et le champ flavour.
Ce modèle est requis pour les nouveaux types de GPU (tels que le H200) et constitue l’approche recommandée. Utilisez-le si vous avez besoin d’au moins l’une des fonctionnalités suivantes :
-
pour utiliser des GPU H200 ;
-
pour utiliser de VM de type
inference7; -
pour associer plusieurs GPU par nœud ;
-
pour utiliser un pilote NVIDIA personnalisé.
|
Dans ce modèle :
|
apiVersion: oks.dev/v1beta2
kind: NodePool
metadata:
name: fgpu-pool-b
spec:
desiredNodes: 1
nodeType: inference7-h200.4xlargeA
flavour: oks.ubuntu22
volumes:
- device: root
type: gp2
size: 300
dir: /
zones:
- cloudgouv-eu-west-1b
taint: false
fgpu:
k8s-operator: false
upgradeStrategy:
autoUpgradeEnabled: false
autoHealing: false
Cet exemple contient les champs clés suivants que vous devez spécifier :
-
nodeType: Le type de VM à utiliser pour le node pool. Il détermine le modèle de GPU associé. Pour en savoir plus, voir Types de VM > Type OUTSCALE. -
flavour: L’OMI OKS à utiliser, qui définit le système d’exploitation et la compatibilité avec les pilotes GPU. -
k8s-operator: Ignoré lorsque la variante (ou flavor) n’est pas héritée ; doit toujours être considérée commefalse.
Installer l’opérateur GPU NVIDIA
Après avoir créé un node pool à l’aide du nouveau modèle, vous devez installer l’opérateur GPU NVIDIA afin de déployer les pilotes et composants GPU requis.
Avant de commencer : Installez Helm sur votre machine. |
-
Ajoutez le dépôt NVIDIA Helm :
Exemple de requête$ helm repo add nvidia https://helm.ngc.nvidia.com/nvidia && helm repo update -
Installez l’opérateur NVIDIA GPU :
Exemple de requête$ helm install gpu-operator -n gpu-operator --create-namespace nvidia/gpu-operator \ --set driver.enabled=true \ --set toolkit.enabled=true \ --version=v25.10.0 \ --set driver.usePrecompiled=false-
Nous vous recommandons d’utiliser la version v25.10.0, car elle prend en charge tous les modèles de GPU actuellement compatibles avec OKS.
-
Avant d’installer une autre version, vérifiez sa compatibilité avec la variante
oks.ubuntu22et le modèle de GPU que vous souhaitez utiliser.
-
-
(optionnel) Si vous avez activé l’option
taintlors de la création de votre node pool, supprimez cette contrainte afin de permettre la planification des pods de l’opérateur GPU sur les nœuds :Exemple de requête$ kubectl taint node fgpu-pool-b gpu=true:NoScheduleSi la valeur de
tainta été définie surfalselors de la création du node pool, vous n’avez pas besoin d’effectuer cette étape.
Utiliser le modèle hérité
Le modèle hérité utilise des images du nœud (OMI) avec des pilotes GPU pré-installés. La configuration des GPU est entièrement gérée via le champ fgpu dans le manifeste de node pool.
|
Vous pouvez utiliser ce modèle si vous recherchez un processus de déploiement plus simple et plus rapide, mais vous ne pouvez pas l’utiliser si vous voulez :
|
Pour utiliser ce modèle, vous devez créer un node pool à l’aide d’un manifeste Kubernetes qui inclut le champ fgpu.
|
Dans ce modèle :
|
apiVersion: oks.dev/v1beta2
kind: NodePool
metadata:
name: application-pool2-a
spec:
desiredNodes: 2
nodeType: tinav5.c2r4p1
fgpu:
model: "nvidia-p6"
k8s-operator: true
zones:
- eu-west-2a
upgradeStrategy:
maxUnavailable: 1
maxSurge: 0
autoUpgradeEnabled: false
autoHealing: true
Vous pouvez configurer la prise en charge de GPU en précisant les caractéristiques suivantes sous la section spec de votre manifeste de node pool.
spec:
fgpu:
model: "nvidia-p6"
k8s-operator: true
Cet exemple contient les champs suivants que vous devez spécifier :
-
model: Le modèle de GPU à allouer. -
k8s-operator: Indique si l’opérateur GPU officiel de NVIDIA dans le namespacegpu-operatorest installé sur le cluster (true|false).La suppression du node pool ne désinstalle pas l’opérateur.
|
Assurez-vous que la génération de processeur que vous sélectionnez est compatible avec le modèle de fGPU souhaité. Pour en savoir plus sur ces modèles, voir À propos des flexible GPU > Modèles de fGPU. Les fGPU sont associés par défaut aux types de VM pris en charge. Si plusieurs types de VM prennent en charge le même fGPU, vous pouvez sélectionner un autre type de VM pour répondre à vos besoins. Pour en savoir plus sur les VM, voir Types de VM. |
Modèles de fGPU pris en charge
OKS prend en charge les modèles de fGPU suivants, proposés par 3DS OUTSCALE :
-
nvidia-a100 -
nvidia-a100-80 -
nvidia-h100 -
nvidia-l40 -
nvidia-m60 -
nvidia-p6 -
nvidia-p100 -
nvidia-v100 -
nvidia-h200(seulement pris en charge par le modèle « flavored »)
|
Le modèle
|
Pour certains modèles de fGPU, des types de VM supplémentaires du type inference7 sont pris en charge :
-
nvidia-h200(seulement pris en charge par le modèle « flavored »)-
inference7-h200.4xlargeA
-
-
nvidia-h100-
inference7-h100.medium -
inference7-h100.large -
inference7-h100.xlarge -
inference7-h100.2xlarge
-
-
nvidia-l40-
inference7-l40.large -
inference7-l40.medium
-
Pour en savoir plus sur ces modèles, voir À propos des flexible GPU > Modèles de fGPU.
|
Vous devez vous assurer que le modèle de fGPU choisi est pris en charge par le type de VM défini lors de la création de votre node pool. Si le modèle de fGPU et le type de VM sont incompatibles, les GPU alloués peuvent ne pas parvenir à s’attacher. Après 3 tentatives infructueuses, la VM peut également ne pas parvenir à démarrer. |
Pages connexes