KubeVirt VM에 NPU 연결하기¶
ATOM™ 또는 Rebel100™ NPU 1개를 KubeVirt VM에 연결하고 게스트에서 rbln-smi를 실행해 장치를 확인합니다.
VM 패스스루 구성을 사용하고 KubeVirt 설정을 완료합니다. Operator가 아직 설치되어 있지 않다면 먼저 NPU Operator 설치 절차를 진행합니다.
1. VM 생성하기¶
사용할 제품군을 선택합니다.
노드 이름과 PVC 이름은 사용할 환경에 맞게 변경합니다. <VM_PASSWORD>에는 ubuntu 계정의 콘솔 로그인에 사용할 비밀번호를 지정합니다.
장치 허용 설정을 완료한 뒤 hostDevices.deviceName에 선택한 $NPU_RESOURCE를 지정해 NPU를 요청합니다.
vfio-npu.rebellions.ai DeviceClass로 선택한 제품의 NPU 1개를 요청하는 ResourceClaim을 만듭니다. VM의 resourceClaims와 hostDevices에서 이 Claim을 참조합니다.
VM이 준비되면 실행 상태를 확인합니다.
$ kubectl wait -n npu-tutorial --for=condition=Ready vm/npu-vm --timeout=300s
virtualmachine.kubevirt.io/npu-vm condition met
$ kubectl get vm -n npu-tutorial npu-vm \
-o 'custom-columns=NAME:.metadata.name,STATUS:.status.printableStatus,READY:.status.ready'
NAME STATUS READY
npu-vm Running true
선택한 할당 방식에 따라 NPU 할당 결과를 확인합니다.
virt-launcher Pod의 compute 컨테이너가 NPU 1개를 요청하는지 확인합니다.
vm-npu Claim에 할당된 NPU를 확인합니다. 풀 이름과 장치 이름은 환경에 따라 달라집니다.
VM이 Running 상태이고 선택한 방식으로 NPU 1개가 할당되면 게스트에서 장치를 확인합니다.
2. 게스트에서 장치 확인하기¶
관리 컴퓨터의 터미널에서 virtctl console로 게스트 콘솔에 접속합니다.
| 관리 컴퓨터 | |
|---|---|
로그인 프롬프트가 나타나면 ubuntu 계정과 VM 생성 시 지정한 비밀번호로 로그인합니다. 화면이 비어 있으면 Enter를 누릅니다.
이후 단계는 드라이버 설치 가이드에 따라 게스트의 지원 커널과 선택한 제품군의 RBLN Driver 설치를 마친 상태에서 진행합니다.
게스트에서 패스스루된 PCI 장치와 드라이버 버전, NPU를 확인합니다.
게스트에서 드라이버 버전과 NPU 1개가 확인되면 성공입니다.
정리¶
게스트에서 로그아웃한 뒤 Ctrl+]를 눌러 콘솔을 종료합니다. 관리 컴퓨터의 터미널에서 VM을 삭제합니다.
| 관리 컴퓨터 | |
|---|---|
DRA를 사용했다면 VM에 연결했던 Claim도 삭제합니다.