Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Configurer et gérer le module complémentaire ack-nvidia-device-plugin

Dernière mise à jour :Sep 23, 2026

Le plug-in de périphérique NVIDIA est un plug-in de périphérique GPU pour les clusters Kubernetes qui gère les GPU sur chaque nœud, permettant à Kubernetes d'utiliser les ressources GPU plus efficacement. Cette rubrique décrit comment mettre à niveau et redémarrer le plug-in de périphérique NVIDIA, isoler les périphériques GPU et vérifier sa version sur les nœuds Alibaba Cloud Container Service for Kubernetes (ACK) dans un scénario de planification exclusive de GPU.

Remarques relatives à l'utilisation

Lorsque vous déployez le plug-in de périphérique NVIDIA en tant que DaemonSet, tenez compte des points suivants :

  • Le module complémentaire est installé automatiquement lors de la création d'un cluster.

  • Si vous désinstallez ce module complémentaire, les nœuds accélérés par GPU mis à l'échelle horizontalement ne pourront pas signaler correctement leurs ressources GPU.

  • La mise à niveau d'un cluster d'une version antérieure vers la version 1.32 entraîne également la mise à niveau du plug-in de périphérique NVIDIA, passant d'un pod statique à un module complémentaire ACK.

  • Le DaemonSet utilise un NodeSelector (ack.node.gpu.schedule=default). Lorsqu'un nœud accéléré par GPU est ajouté au cluster, le script ACK qui ajoute le nœud attache automatiquement cette étiquette au nœud accéléré par GPU. Le DaemonSet déploie ensuite son pod sur le nœud accéléré par GPU.

Important
  • Si un nœud exécute Ubuntu 22.04 ou Red Hat Enterprise Linux (RHEL) 9,3 64 bits, le plug-in de périphérique NVIDIA peut ne pas fonctionner correctement après l'exécution de la commande systemctl daemon-reload ou systemctl daemon-reexec. Ce problème survient car le composant ack-nvidia-device-plugin définit par défaut la variable d'environnement NVIDIA_VISIBLE_DEVICES=all pour les pods, ce qui peut rendre le périphérique GPU inaccessible. Pour plus d'informations, consultez Que faire si l'erreur « Failed to initialize NVML: Unknown Error » se produit lors de l'exécution d'un conteneur GPU ?.

  • Si vous mettez à niveau un cluster d'une version antérieure à 1.32 vers la version 1.32 avant le 1er mai 2025, le cluster peut contenir des plug-ins de périphérique NVIDIA déployés à la fois en tant que pods statiques et DaemonSets. Vous pouvez exécuter le script suivant pour trouver les nœuds où le plug-in de périphérique NVIDIA est déployé en tant que pod statique.

    Scripts et sortie attendue

    #!/bin/bash
    # Loop through all pods with the component=nvidia-device-plugin label in the kube-system namespace.
    for i in $(kubectl get po -n kube-system -l component=nvidia-device-plugin | grep -v NAME | awk '{print $1}');do
        # Check if the pod's configuration source is 'file', which indicates a static pod.
        if kubectl get po $i -o yaml -n kube-system | grep 'kubernetes.io/config.source: file' &> /dev/null;then
        # Print the node name if it is a static pod.
        kubectl get pod $i -n kube-system -o jsonpath='{.spec.nodeName}{"\n"}'
        fi
    done

    Sortie attendue :

    cn-beijing.10.12.XXX.XX
    cn-beijing.10.13.XXX.XX

    La sortie indique que certains nœuds ont toujours le plug-in de périphérique NVIDIA déployé en tant que pod statique. Vous pouvez utiliser la commande suivante pour migrer le plug-in de périphérique NVIDIA d'un pod statique vers un DaemonSet.

    kubectl label nodes <NODE_NAME> ack.node.gpu.schedule=default
  • Lorsque vous mettez à niveau un pool de nœuds dans un cluster de version 1.31 ou antérieure, le processus met également à niveau le plug-in de périphérique NVIDIA et réinitialise toutes ses configurations non standard.

Différences de version

L'implémentation et les stratégies de gestion du composant ack-nvidia-device-plugin varient selon la version du cluster, comme décrit dans le tableau suivant.

Fonctionnalité

Version 1.32 et ultérieure

Versions 1.20 à 1.31

Méthode de déploiement

DaemonSet

pod statique

Méthode de gestion

Page Add-ons dans la console ACK

Manuelle

Exigence d'étiquette de nœud

ack.node.gpu.schedule=default

Aucune

Stratégie de mise à niveau du pool de nœuds

Mise à niveau manuelle

Mise à niveau automatique

Si la version de votre cluster est antérieure à 1,20, nous vous recommandons de mettre à niveau manuellement le cluster .

Prérequis

Utilisez kubectl pour vous connecter au cluster dans Workbench ou CloudShell.

Vérifier la version du plug-in de périphérique NVIDIA

Version 1.32 et ultérieure

Pour les modules complémentaires déployés en tant que DaemonSet, accédez à la page Add-ons dans la console ACK, recherchez le module complémentaire ack-nvidia-device-plugin et consultez sa version sur la carte du module complémentaire.

Versions 1.20 à 1.31

Pour les modules complémentaires déployés en tant que pod statique, exécutez la commande suivante pour vérifier la version du module complémentaire.

kubectl get pods -n kube-system -l component=nvidia-device-plugin \
  -o jsonpath='{range .items[*]}{.spec.containers[0].image}{"\t"}{.spec.nodeName}{"\n"}{end}' \
  | awk -F'[:/]' '{split($NF, a, "-"); print a[1] "\t" $0}' \
  | sort -k1,1V \
  | cut -f2- \
  | awk -F'\t' '{split($1, img, ":"); print img[NF] "\t" $2}'

Mettre à niveau le plug-in de périphérique NVIDIA

  1. Mettez à niveau le module complémentaire ack-nvidia-device-plugin.

    Version 1.32 et ultérieure

    1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

    2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Add-ons .

    3. Sur la page Add-ons, recherchez la carte ack-nvidia-device-plugin et cliquez sur Upgrade.

    4. Dans la boîte de dialogue qui s'affiche, cliquez sur OK.

    Versions 1.20 à 1.31

    1. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Nodes > Nodes.

    2. Sélectionnez les nœuds accélérés par GPU que vous souhaitez gérer, cliquez sur Batch Operations en bas de la liste des nœuds, sélectionnez Run Shell Scripts dans la boîte de dialogue Batch Operations, puis cliquez sur OK.

      Important

      Nous vous recommandons de commencer par mettre à niveau le plug-in de périphérique GPU sur un petit nombre de nœuds accélérés par GPU. Après avoir vérifié que le plug-in fonctionne comme prévu, effectuez la mise à niveau sur les nœuds restants.

    3. Vous êtes redirigé vers la console CloudOps Orchestration Service (OOS). Définissez Execution Mode sur Paused Upon Failure et cliquez sur Next: Parameter Settings.

    4. Sur la page des paramètres, sélectionnez Run Shell Script et collez l'exemple de script suivant.

      Remarque
      • Définissez le paramètre RUN_PKG_VERSION dans le script sur le numéro de version majeure du cluster (par exemple, 1.30). N'entrez pas le numéro de version mineure (par exemple, 1.30.1). Sinon, le script renverra une erreur.

      • Dans le script, modifiez le paramètre REGION_ID pour qu'il corresponde à l'ID de région du cluster actuel, par exemple cn-beijing.

      #!/bin/bash
      set -xe
      
      # Set the Kubernetes major version.
      RUN_PKG_VERSION=1.30
      # Set the region ID.
      REGION_ID=cn-beijing
      
      function update_device_plugin() {
      	base_dir=/tmp/update_device_plugin
      	rm -rf $base_dir
      	mkdir -p $base_dir
      	cd $base_dir
      	region_id=$REGION_ID
      	PKG_URL=https://aliacs-k8s-${region_id}.oss-${region_id}-internal.aliyuncs.com/public/pkg/run/run-${RUN_PKG_VERSION}.tar.gz
      	curl -sSL --retry 3 --retry-delay 2 -o run.tar.gz $PKG_URL
      	tar -xf run.tar.gz
      
      	local dir=pkg/run/$RUN_PKG_VERSION/module
      	# Replace the image registry address.
      	sed -i "s@registry.cn-hangzhou.aliyuncs.com/acs@registry-${region_id}-vpc.ack.aliyuncs.com/acs@g" $dir/nvidia-device-plugin.yml
      	mkdir -p /etc/kubernetes/device-plugin-backup
      	mkdir -p /etc/kubernetes/manifests
      	# Back up the old configuration file.
      	mv  /etc/kubernetes/manifests/nvidia-device-plugin.yml /etc/kubernetes/device-plugin-backup/nvidia-device-plugin.yml.$(date +%s)
      	sleep 5
      	# Copy the new configuration file.
      	cp -a $dir/nvidia-device-plugin.yml /etc/kubernetes/manifests
      	echo "succeeded to update device plugin"
      }
      
      # Check if the nvidia-device-plugin.yml file exists.
      if [ -f /etc/kubernetes/manifests/nvidia-device-plugin.yml ]; then
      	update_device_plugin
      else
      	echo "skip to update device plugin"
      fi
    5. Cliquez sur Next: Confirm. Après avoir confirmé les informations, cliquez sur Create.

      Une fois la tâche créée, vous êtes automatiquement redirigé vers la page Task Execution Management, où vous pouvez afficher l'état d'exécution de la tâche. La mise à jour est réussie si la valeur Output est succeeded to update device plugin.

  2. Vérifiez si le module complémentaire s'exécute comme prévu.

    Exécutez les commandes suivantes pour vérifier si le plug-in de périphérique GPU fonctionne correctement sur le nœud accéléré par GPU.

    1. Utilisez kubectl pour vous connecter au cluster dans Workbench ou CloudShell.

    2. Exécutez la commande suivante pour vérifier si le plug-in de périphérique NVIDIA a redémarré :

      kubectl get po -n kube-system -l component=nvidia-device-plugin 

      La colonne AGE dans la sortie d'exemple indique si le pod a redémarré.

      NAME                             READY   STATUS    RESTARTS      AGE
      nvidia-device-plugin-xxxx        1/1     Running   1             1m
    3. Après le redémarrage de tous les pods, exécutez le script suivant pour vérifier si les nœuds signalent les ressources GPU :

      #!/bin/bash
      
      # Get all NVIDIA Device Plugin pods and their corresponding nodes.
      PODS=$(kubectl get po -n kube-system -l component=nvidia-device-plugin -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.nodeName}{"\n"}{end}')
      
      # Iterate through each pod's node.
      echo "$PODS" | while IFS=$'\t' read -r pod_name node_name; do
          # Get the allocatable nvidia.com/gpu resource value for the node.
          gpu_allocatable=$(kubectl get node "$node_name" -o jsonpath='{.status.allocatable.nvidia\.com/gpu}' 2>/dev/null)
      
          # Check if the resource value is 0.
          if [ "$gpu_allocatable" == "0" ]; then
              echo "Error: node=$node_name, pod=$pod_name, resource(nvidia.com/gpu) is 0"
          fi
      done

      Si un nœud signale zéro ressource, consultez Redémarrer le plug-in de périphérique NVIDIA.

Redémarrer le plug-in de périphérique NVIDIA

Dans les scénarios de planification exclusive de GPU dans ACK, le plug-in de périphérique qui signale les périphériques GPU sur un nœud est déployé par défaut en tant que pod. Par conséquent, vous devez effectuer le redémarrage sur le nœud cible.

Version 1.32 et ultérieure

  1. Exécutez la commande suivante pour trouver le pod du plug-in de périphérique sur le nœud correspondant.

    kubectl get pod -n kube-system -l component=nvidia-device-plugin -o wide | grep <NODE>
  2. Exécutez la commande suivante pour redémarrer le pod du plug-in de périphérique correspondant.

    kubectl delete po <DEVICE_PLUGIN_POD> -n kube-system 

Versions 1.20 à 1.31

  1. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Nodes > Node Pools.

  2. Sur la page Node Pools, cliquez sur le nom du pool de nœuds pour accéder à la page de gestion des nœuds, puis connectez-vous au nœud accéléré par GPU cible.

    Si le système d'exploitation est ContainerOS, la connexion directe de l'utilisateur est désactivée par défaut pour réduire les risques potentiels de sécurité, et la connexion SSH n'est pas fournie. Si vous devez toujours vous connecter à une instance pour les opérations et la maintenance, consultez Opérations et maintenance pour les nœuds ContainerOS .
  3. Sélectionnez les nœuds accélérés par GPU que vous souhaitez gérer, cliquez sur Batch Operations en bas de la liste des nœuds, sélectionnez Execute Shell Command dans la boîte de dialogue Batch Operations, puis cliquez sur OK.

    Important

    Nous vous recommandons de commencer par redémarrer le plug-in de périphérique sur un petit nombre de nœuds accélérés par GPU. Après avoir vérifié que le plug-in fonctionne comme prévu, effectuez le redémarrage sur les nœuds restants.

  4. Vous êtes redirigé vers la console OOS. Définissez Execution Mode sur Paused Upon Failure et cliquez sur Next: Parameter Settings.

  5. Sur la page des paramètres, sélectionnez Run Shell Script et collez l'exemple de script suivant.

    #!/bin/bash
    set -e
    
    # Check if the nvidia-device-plugin.yml file exists.
    if [ -f /etc/kubernetes/manifests/nvidia-device-plugin.yml ]; then
    	# Move the file to restart the static pod.
    	cp -a /etc/kubernetes/manifests/nvidia-device-plugin.yml /etc/kubernetes
    	rm -rf /etc/kubernetes/manifests/nvidia-device-plugin.yml
    	sleep 5
    	mv /etc/kubernetes/nvidia-device-plugin.yml /etc/kubernetes/manifests
    	echo "the nvidia device is restarted"
    else
    	echo "no need to restart nvidia device plugin"
    fi
  6. Cliquez sur Next: Confirm. Après avoir confirmé les informations, cliquez sur Create. Vous êtes redirigé vers la page Task Execution Management où vous pouvez afficher l'état de la tâche.

  7. Exécutez la commande suivante pour vérifier si le plug-in de périphérique GPU fonctionne correctement sur le nœud accéléré par GPU.

    kubectl get nodes <NODE_NAME> -o jsonpath='{.metadata.name} ==> nvidia.com/gpu: {.status.allocatable.nvidia\.com/gpu}'

    Sortie attendue :

    cn-hangzhou.172.16.XXX.XX ==> nvidia.com/gpu: 1

    Une valeur non nulle pour la ressource étendue nvidia.com/gpu sur un nœud accéléré par GPU indique que le plug-in de périphérique fonctionne correctement.

Modifier la clé de point de contrôle du plug-in de périphérique

Lors de l'allocation d'un périphérique à un pod, le plug-in de périphérique crée un fichier de point de contrôle sur le nœud qui enregistre quels périphériques sont alloués à quels pods. Par défaut, le plug-in de périphérique NVIDIA utilise l'UUID du GPU comme clé unique pour chaque périphérique GPU dans le fichier de point de contrôle. Vous pouvez modifier cette clé pour utiliser l'index du périphérique afin de résoudre des problèmes tels que la perte d'UUID après une migration à froid de machine virtuelle.

Version 1.32 et ultérieure

  1. Exécutez la commande suivante pour modifier le DaemonSet du plug-in de périphérique NVIDIA.

    kubectl edit ds -n kube-system ack-nvidia-device-plugin
  2. Ajoutez la variable d'environnement CHECKPOINT_DEVICE_ID_STRATEGY.

        env:
          - name: CHECKPOINT_DEVICE_ID_STRATEGY
            value: index
  3. Redémarrer le plug-in de périphérique NVIDIA pour appliquer les modifications.

Versions 1.20 à 1.31

  1. Vérifiez le tag de l'image dans le fichier /etc/kubernetes/manifests/nvidia-device-plugin.yml sur le nœud cible. Le tag indique la version du Device-Plugin. Si la version est 0.9.3 ou ultérieure, aucune action n'est requise. Sinon, mettez à jour la version vers v0.9.3-0dd4d5f5-aliyun.

  2. Modifiez les variables d'environnement du pod statique dans le fichier /etc/kubernetes/manifests/nvidia-device-plugin.yml. Consultez le code suivant pour ajouter la variable d'environnement CHECKPOINT_DEVICE_ID_STRATEGY.

        env:
          - name: CHECKPOINT_DEVICE_ID_STRATEGY
            value: index
  3. Redémarrer le plug-in de périphérique NVIDIA pour appliquer les modifications.

Activer ou désactiver le clôturage automatique des GPU

Le système clôture automatiquement les GPU anormaux lorsqu'une détection et remédiation est déclenchée. Le clôturage automatique diffère de la réparation automatique. La facturation continue pour les instances de nœud avec des GPU clôturés, et vous devez toujours réparer le nœud. Configurez des alertes d'anomalie GPU pour traiter les problèmes rapidement. Si aucune vérification n'est sélectionnée, le clôturage automatique ne se produit pas.

Portée

La version du composant ACK NVIDIA Device Plugin doit être 0.7.0 ou ultérieure et la version du composant ACK Node Problem Detector doit être 1.2.35 ou ultérieure.

Procédure

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Add-ons .

  3. Sur la page Component Management, recherchez le composant ack-nvidia-device-plugin et cliquez sur Configuration sur sa carte.

  4. Dans la boîte de dialogue qui s'affiche, activez ou désactivez le clôturage automatique des GPU.

    • Pour activer : Cochez Enable Automatic GPU Fencing et sélectionnez NPD Checks for Automatic GPU Fencing.

    • Pour désactiver : Décochez Enable Automatic GPU Fencing ou ne configurez aucune vérification.

Monter les périphériques GDR et activer l'accélération de la copie mémoire GPU

Exigences

À partir de la version v0.5.0, ack-nvidia-device-plugin prend en charge le montage des périphériques GDR dans les conteneurs GPU. Cette fonctionnalité nécessite les éléments suivants :

  • La version du cluster est 1,32 ou ultérieure.

  • Le nœud est un nœud Lingjun.

  • Le logiciel GDR est installé sur le nœud.

    Vous pouvez vous connecter au nœud et exécuter la commande lsmod | grep gdrdrv pour vérifier si le module noyau GDR est chargé. La sortie d'exemple est la suivante :
    gdrdrv                196608  0
    nvidia              14680064  88 nvidia_uvm,nvidia_peermem,gdrdrv,nvidia_modeset
  • NVIDIA Container Toolkit 1.15.0 ou ultérieur est installé sur le nœud.

    Vous pouvez vérifier la version en vous connectant au nœud et en exécutant nvidia-container-cli --version . Voici un exemple de sortie :
    cli-version: 1.17.8
    lib-version: 1.17.8

Activer l'accélération GDR

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Add-ons .

  3. Sur la page Add-ons, recherchez la carte ack-nvidia-device-plugin et cliquez sur Configuration.

  4. Dans la boîte de dialogue qui s'affiche, sélectionnez Enable GDRCopy for GPU memory copy acceleration (takes effect on Lingjun nodes with GDR software installed and nvidia-container-toolkit version >= 1.15.0).

Vérifier le résultat

  1. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Workloads > Deployments.

  2. Sur la page Deployments, cliquez sur Create from YAML. Utilisez l'exemple de code suivant pour créer une application.

    apiVersion: v1
    kind: Pod
    metadata:
      name: tensorflow-mnist
      namespace: default
    spec:
      containers:
      - image: registry.cn-beijing.aliyuncs.com/acs/tensorflow-mnist-sample:v1.5
        name: tensorflow-mnist
        command:
        - python
        - tensorflow-sample-code/tfjob/docker/mnist/main.py
        - --max_steps=100000
        - --data_dir=tensorflow-sample-code/data
        resources:
          limits:
            nvidia.com/gpu: 1  # Request one GPU card for this container.
        workingDir: /root
      restartPolicy: Always
  3. Exécutez la commande suivante pour entrer dans le pod :

    kubectl exec -ti tensorflow-mnist -- ls /dev/gdrdrv

    Sortie attendue :

    /dev/gdrdrv

    La sortie indique que le périphérique gdrdrv a été monté avec succès.

FAQ

Désactiver la fonctionnalité native d'isolation des GPU

Contexte

Lorsqu'un GPU sur un nœud tombe en panne, ACK isole automatiquement le GPU défaillant en utilisant le plug-in de périphérique NVIDIA pour empêcher le planificateur de lui assigner des tâches. Cependant, cette isolation automatique n'effectue pas de réparation automatique. Vous devez toujours redémarrer ou réparer manuellement le nœud. Nous vous recommandons de configurer des alertes pour les exceptions GPU afin de les traiter rapidement. Pour plus d'informations sur la fonctionnalité native d'isolation des GPU du plug-in de périphérique NVIDIA, consultez k8s-device-plugin.

  • Après l'isolation, si le nœud ne dispose pas de suffisamment de GPU pour répondre aux exigences d'une tâche (par exemple, une tâche nécessite huit cartes mais seulement sept sont disponibles), le planificateur ne peut pas placer la tâche sur ce nœud, laissant les ressources GPU inutilisées.

  • Lorsque l'état du GPU revient à la normale, le système supprime automatiquement l'isolation du périphérique.

  • Si vous devez désactiver l'isolation automatique afin que le nœud continue de signaler les ressources pour les GPU défaillants, reportez-vous à la solution suivante.

Solution

  1. Confirmez si la fonctionnalité native d'isolation des GPU est activée pour le module complémentaire.

    Si elle n'est pas activée, vous n'avez pas besoin d'effectuer les étapes suivantes pour la désactiver.

    Version 1.32 et ultérieure

    Connectez-vous à la console ACK et vérifiez la version de ack-nvidia-device-plugin sur la page Add-ons du cluster cible. Si la version est v0.1.0, la fonctionnalité d'isolation des GPU est activée.

    Versions 1.20 à 1.31

    1. Utilisez kubectl pour vous connecter au cluster dans Workbench ou CloudShell.

    2. Vérifiez si le plug-in de périphérique NVIDIA a l'isolation des GPU activée.

      check_gpu_isolation_enabled() {
          echo "Checking nodes with NVIDIA Device Plugin deployed as static pods that have GPU isolation enabled (i.e., DP_DISABLE_HEALTHCHECKS is not set to 'all')..."
      
          # Get pod names with the expected label.
          pods=$(kubectl get pods -n kube-system -l component=nvidia-device-plugin --no-headers -o custom-columns=":metadata.name" 2>/dev/null)
      
          if [ -z "$pods" ]; then
              echo "No pods found with label 'component=nvidia-device-plugin'."
              return 0
          fi
      
          found=0
          while IFS= read -r pod; do
              [ -z "$pod" ] && continue
      
              # Check if it's a static pod: annotation kubernetes.io/config.source must be "file".
              config_source=$(kubectl get pod "$pod" -n kube-system -o jsonpath='{.metadata.annotations.kubernetes\.io/config\.source}' 2>/dev/null)
      
              if [ "$config_source" != "file" ]; then
                  # Not a static pod (e.g., managed by a DaemonSet), skip.
                  continue
              fi
      
              # Get node name.
              node=$(kubectl get pod "$pod" -n kube-system -o jsonpath='{.spec.nodeName}' 2>/dev/null)
              [ -z "$node" ] && continue
      
              # Check if DP_DISABLE_HEALTHCHECKS is set to "all".
              disabled_value=$(kubectl get pod "$pod" -n kube-system -o jsonpath='{range .spec.containers[*]}{range .env[?(@.name=="DP_DISABLE_HEALTHCHECKS")]}{.value}{"\n"}{end}{end}' 2>/dev/null | head -n1)
      
              # If not set or not equal to "all", health checks are active, which means isolation is enabled.
              if [ -z "$disabled_value" ] || [ "$disabled_value" != "all" ]; then
                  echo "Node: $node, Static Pod: $pod"
                  found=1
              fi
          done <<< "$pods"
      
          if [ "$found" -eq 0 ]; then
              echo "No static pods found with GPU isolation enabled."
          else
              echo "Note: The above nodes will automatically isolate faulty GPUs via the NVIDIA Device Plugin."
          fi
      }
      
      check_gpu_isolation_enabled

      Sortie attendue :

      Checking nodes with NVIDIA Device Plugin deployed as static pods that have GPU isolation enabled (i.e., DP_DISABLE_HEALTHCHECKS is not set to 'all')...
      Node: cn-beijing.192.168.XXX.XXX, Static Pod: nvidia-device-plugin-cn-beijing.192.168.XXX.XXX
      Note: The above nodes will automatically isolate faulty GPUs via NVIDIA Device Plugin.

      Si la sortie contient Note: The above nodes will automatically isolate faulty GPUs via NVIDIA Device Plugin., la fonctionnalité d'isolation des GPU est activée.

  2. Désactivez la fonctionnalité d'isolation des GPU en mettant à niveau le module complémentaire.

    La fonctionnalité native d'isolation des GPU est désactivée par défaut dans la dernière version du module complémentaire NVIDIA Device Plugin. Mettez à niveau le plug-in de périphérique NVIDIA vers la dernière version pour appliquer cette modification.

Rubriques connexes