¿Por qué falla la instalación de mi controlador de GPU NVIDIA en los nodos trabajadores de RHEL 9?
Nube privada virtual Infraestructura clásica
Al intentar instalar los controladores de GPU de NVIDIA en los nodos trabajadores de Red Hat Enterprise Linux 9, la instalación falla con un error de repositorio.
En los registros del pod nvidia-driver-daemonset-* aparece un mensaje de error similar al siguiente:
Error: Unable to find a match: kernel-headers-VERSION kernel-devel-VERSION
Por ejemplo:
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
El operador de GPU de NVIDIA no habilita todos los repositorios de soporte de actualización extendida (EUS) necesarios para los nodos trabajadores de RHEL 9. Aunque los repositorios EUS ya están habilitados para los nodos trabajadores de RHEL 9 en Red Hat OpenShift on IBM Cloud, la instalación del controlador NVIDIA requiere una configuración adicional de los repositorios.
Aplique un ConfigMap para habilitar los repositorios EUS necesarios para la instalación del controlador de GPU NVIDIA.
-
SSH a uno de sus nodos trabajadores RHEL 9 para recuperar los valores de configuración del repositorio requeridos.
oc debug node/<worker-node-name> -
Accede al sistema de archivos del host.
chroot /host -
Consulte la configuración del repositorio Red Hat para recuperar los valores necesarios.
cat /etc/yum.repos.d/redhat.repo -
En la salida, localice la sección
[rhel-9-for-x86_64-appstream-eus-rpms]y anote los siguientes valores:baseurl- La base URL para el repositoriosslclientkey- La ruta a la clave de cliente SSL (contiene un número de serie del certificado)sslclientcert- La ruta al certificado de cliente SSL (contiene el mismo número de serie del certificado)
El número de serie del certificado aparece tanto en la ruta
sslclientkeycomo ensslclientcert. Por ejemplo, si las rutas son/etc/pki/entitlement-host/1234567890123456789-key.pemy/etc/pki/entitlement-host/1234567890123456789.pem, el número de serie del certificado es1234567890123456789. -
Salir de la sesión de depuración.
exit exit -
Cree un archivo ConfigMap llamado
nvidia-driver-repo-config.yamlcon el siguiente contenido. SustituyaNAMESPACE-GPUpor el espacio de nombres en el que está instalado el controlador de la GPU,BASEURLpor la base URL que recuperó y sustituya ambas instancias deCERT-SERIALpor el número de serie de su certificado.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 -
Aplique ConfigMap a su clúster.
oc apply -f nvidia-driver-repo-config.yaml -
Edite la política del clúster para añadir la dirección ConfigMap a la sección
repoConfig.oc edit clusterpolicy -
Añada el campo
configMapNamea la secciónspec.repoConfigcon el nombre de su ConfigMap.spec: ... repoConfig: configMapName: nvidia-driver-repo-config ... -
Borre los pods daemonset del controlador NVIDIA para ciclarlos y aplicar la nueva configuración.
oc delete po nvidia-driver-daemonset-*
Tras el reinicio de los pods, el operador de GPU de NVIDIA puede acceder a los repositorios EUS necesarios e instalar correctamente los controladores de GPU en sus nodos trabajadores RHEL 9.