Por que minha instalação do driver de GPU NVIDIA falha nos nós de trabalho do RHEL 9?
Nuvem privada virtual Infraestrutura clássica
Quando você tenta instalar drivers de GPU NVIDIA em nós de trabalho Red Hat Enterprise Linux 9, a instalação falha com um erro de repositório.
Você vê uma mensagem de erro nos logs do pod nvidia-driver-daemonset-* semelhante à seguinte:
Error: Unable to find a match: kernel-headers-VERSION kernel-devel-VERSION
Por exemplo:
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
O Operador de GPU NVIDIA não habilita todos os repositórios de Suporte a Atualizações Estendidas (EUS) necessários para os nós de trabalho do RHEL 9. Embora os repositórios EUS estejam agora habilitados para os nós de trabalho do RHEL 9 em Red Hat OpenShift on IBM Cloud, a instalação do driver NVIDIA requer configuração adicional do repositório.
Aplique um ConfigMap para ativar os repositórios EUS necessários para a instalação do driver da GPU NVIDIA.
-
SSH em um dos nós de trabalho do RHEL 9 para recuperar os valores de configuração do repositório necessários.
oc debug node/<worker-node-name> -
Acessar o sistema de arquivos do host.
chroot /host -
Visualize a configuração do repositório Red Hat para recuperar os valores necessários.
cat /etc/yum.repos.d/redhat.repo -
Na saída, localize a seção
[rhel-9-for-x86_64-appstream-eus-rpms]e anote os seguintes valores:baseurl- A base URL para o repositóriosslclientkey- O caminho para a chave do cliente SSL (contém um número de série do certificado)sslclientcert- O caminho para o certificado do cliente SSL (contém o mesmo número de série do certificado)
O número de série do certificado aparece nos caminhos
sslclientkeyesslclientcert. Por exemplo, se os caminhos forem/etc/pki/entitlement-host/1234567890123456789-key.peme/etc/pki/entitlement-host/1234567890123456789.pem, o número de série do certificado será1234567890123456789. -
Sair da sessão de depuração.
exit exit -
Crie um arquivo ConfigMap chamado
nvidia-driver-repo-config.yamlcom o seguinte conteúdo. SubstituaNAMESPACE-GPUpelo namespace em que o driver da GPU está instalado,BASEURLpela base URL que você recuperou e substitua as duas instâncias deCERT-SERIALpelo número de série do seu 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 o ConfigMap ao seu cluster.
oc apply -f nvidia-driver-repo-config.yaml -
Edite a política do cluster para adicionar o ConfigMap à seção
repoConfig.oc edit clusterpolicy -
Adicione o campo
configMapNameà seçãospec.repoConfigcom o nome do seu ConfigMap.spec: ... repoConfig: configMapName: nvidia-driver-repo-config ... -
Exclua os pods do conjunto de daemons do driver NVIDIA para fazer o ciclo deles e aplicar a nova configuração.
oc delete po nvidia-driver-daemonset-*
Depois que os pods forem reiniciados, o operador de GPU NVIDIA poderá acessar os repositórios EUS necessários e instalar com êxito os drivers de GPU nos nós de trabalho do RHEL 9.