Pourquoi l'installation de mon pilote GPU NVIDIA échoue-t-elle sur les nœuds de travail RHEL 9?
Cloud privé virtuel Infrastructure classique
Lorsque vous essayez d'installer les pilotes GPU NVIDIA sur les nœuds de travail Red Hat Enterprise Linux 9, l'installation échoue avec une erreur de référentiel.
Vous voyez un message d'erreur dans les journaux du pod nvidia-driver-daemonset-* similaire à ce qui suit :
Error: Unable to find a match: kernel-headers-VERSION kernel-devel-VERSION
Exemple :
Error: Unable to find a match: kernel-headers-5.14.0-570.112.1.el9_6.x86_64 kernel-devel-5.14.0-570.112.1.el9_6.x86_64
L'opérateur GPU NVIDIA n'active pas tous les dépôts Extended Update Support (EUS) requis pour les nœuds de travail RHEL 9. Bien que les référentiels EUS soient désormais activés pour les nœuds de travail RHEL 9 dans Red Hat OpenShift on IBM Cloud, l'installation du pilote NVIDIA nécessite une configuration supplémentaire du référentiel.
Appliquez un ConfigMap pour activer les dépôts EUS nécessaires à l'installation du pilote GPU NVIDIA.
-
Connectez-vous en mode SSH à l'un de vos nœuds de travail RHEL 9 pour récupérer les valeurs de configuration du référentiel requises.
oc debug node/<worker-node-name> -
Accéder au système de fichiers de l'hôte.
chroot /host -
Consultez la configuration du référentiel Red Hat pour récupérer les valeurs requises.
cat /etc/yum.repos.d/redhat.repo -
Dans le résultat, localisez la section
[rhel-9-for-x86_64-appstream-eus-rpms]et notez les valeurs suivantes :baseurl- La base URL pour le référentielsslclientkey- Chemin d'accès à la clé du client SSL (contient un numéro de série du certificat)sslclientcert- Le chemin d'accès au certificat du client SSL (contient le même numéro de série du certificat)
Le numéro de série du certificat apparaît dans les chemins d'accès
sslclientkeyetsslclientcert. Par exemple, si les chemins sont/etc/pki/entitlement-host/1234567890123456789-key.pemet/etc/pki/entitlement-host/1234567890123456789.pem, le numéro de série du certificat est1234567890123456789. -
Quitter la session de débogage.
exit exit -
Créez un fichier ConfigMap nommé
nvidia-driver-repo-config.yamlavec le contenu suivant. RemplacezNAMESPACE-GPUpar l'espace de noms dans lequel le pilote GPU est installé,BASEURLpar la base URL que vous avez récupérée, et remplacez les deux instances deCERT-SERIALpar le numéro de série de votre certificat.apiVersion: v1 kind: ConfigMap metadata: name: nvidia-driver-repo-config namespace: NAMESPACE-GPU data: rhel9.repo: | [ibm-rhel-9-for-x86_64-appstream-eus-rpms] name = Red Hat Enterprise Linux 9 for x86_64 - AppStream - Extended Update Support (RPMs) baseurl = BASEURL/pulp/repos/customer/Library/content/eus/rhel9/9.6/x86_64/appstream/os enabled = 1 gpgcheck = 1 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release sslverify = 1 sslcacert = /etc/rhsm-host/ca/katello-server-ca.pem sslclientkey = /etc/pki/entitlement-host/CERT-SERIAL-key.pem sslclientcert = /etc/pki/entitlement-host/CERT-SERIAL.pem metadata_expire = 1 enabled_metadata = 0 -
Appliquez le site ConfigMap à votre cluster.
oc apply -f nvidia-driver-repo-config.yaml -
Modifiez la politique de cluster pour ajouter le site ConfigMap à la section
repoConfig.oc edit clusterpolicy -
Ajoutez le champ
configMapNameà la sectionspec.repoConfigavec le nom de votre ConfigMap.spec: ... repoConfig: configMapName: nvidia-driver-repo-config ... -
Supprimez les pods du daemonset du pilote NVIDIA pour les recycler et appliquer la nouvelle configuration.
oc delete po nvidia-driver-daemonset-*
Après le redémarrage des pods, l'opérateur GPU de NVIDIA peut accéder aux référentiels EUS requis et installer avec succès les pilotes GPU sur vos nœuds de travail RHEL 9.