RHEL 9 워커 노드에서 NVIDIA GPU 드라이버 설치가 실패하는 이유는 무엇인가요?
가상 프라이빗 클라우드 클래식 인프라
Red Hat Enterprise Linux 9 작업자 노드에 NVIDIA GPU 드라이버를 설치하려고 하면 리포지토리 오류와 함께 설치가 실패합니다.
nvidia-driver-daemonset-* 포드 로그에 다음과 유사한 오류 메시지가 표시됩니다:
Error: Unable to find a match: kernel-headers-VERSION kernel-devel-VERSION
예를 들어, 다음과 같습니다.
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
NVIDIA GPU 운영자는 RHEL 9 워커 노드에 필요한 모든 EUS(확장 업데이트 지원) 리포지토리를 활성화하지 않습니다. 이제 EUS 리포지토리는 Red Hat OpenShift on IBM Cloud 에서 RHEL 9 워커 노드에 사용할 수 있지만 NVIDIA 드라이버를 설치하려면 추가 리포지토리 구성이 필요합니다.
NVIDIA GPU 드라이버 설치에 필요한 EUS 리포지토리를 활성화하려면 ConfigMap 을 적용하세요.
-
필요한 리포지토리 구성 값을 검색하려면 RHEL 9 워커 노드 중 하나에 SSH로 접속하세요.
oc debug node/<worker-node-name> -
호스트 파일 시스템에 액세스합니다.
chroot /host -
Red Hat 리포지토리 구성을 참조하여 필요한 값을 검색하세요.
cat /etc/yum.repos.d/redhat.repo -
출력에서
[rhel-9-for-x86_64-appstream-eus-rpms]섹션을 찾아 다음 값을 기록합니다:baseurl- 리포지토리의 기본 URLsslclientkey- SSL 클라이언트 키 경로(인증서 일련 번호 포함)sslclientcert- SSL 클라이언트 인증서 경로(동일한 인증서 일련 번호 포함)
인증서 일련 번호는
sslclientkey및sslclientcert경로에 모두 표시됩니다. 예를 들어 경로가/etc/pki/entitlement-host/1234567890123456789-key.pem및/etc/pki/entitlement-host/1234567890123456789.pem인 경우 인증서 일련 번호는1234567890123456789입니다. -
디버그 세션을 종료합니다.
exit exit -
다음 내용으로
nvidia-driver-repo-config.yaml파일( ConfigMap )을 만듭니다.NAMESPACE-GPU을 GPU 드라이버가 설치된 네임스페이스로 바꾸고BASEURL을 검색한 기본 URL 으로 바꾸고CERT-SERIAL의 두 인스턴스를 인증서 일련 번호로 바꿉니다.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 -
ConfigMap 을 클러스터에 적용합니다.
oc apply -f nvidia-driver-repo-config.yaml -
클러스터 정책을 편집하여
repoConfig섹션에 ConfigMap 을 추가합니다.oc edit clusterpolicy -
spec.repoConfig섹션에 ConfigMap 이름과 함께configMapName필드를 추가합니다.spec: ... repoConfig: configMapName: nvidia-driver-repo-config ... -
NVIDIA 드라이버 데몬셋 파드를 삭제하여 주기화하고 새 구성을 적용합니다.
oc delete po nvidia-driver-daemonset-*
파드가 재시작된 후, NVIDIA GPU 운영자는 필요한 EUS 리포지토리에 액세스하여 RHEL 9 워커 노드에 GPU 드라이버를 성공적으로 설치할 수 있습니다.