GPU 노드
- 인쇄
- PDF
GPU 노드
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
Ncloud Kubernetes Service의 워커노드로 GPU 노드를 사용할 수 있습니다.
주의
- GPU 노드로만 구성된 클러스터는 사용 제약이 있습니다.
- Ncloud Kubernetes Service의 기본 오브젝트는 일반 노드를 필요로 하므로, 일반 노드풀과 GPU 노드풀을 함께 구성해야 합니다.
참고
- GPU 노드에서는 SMI/CUDA 드라이버를 업그레이드할 수 있습니다.
- runfile을 사용하여 드라이버 업그레이드를 진행할 수 있으며, 자세한 방법은 GPU 드라이버/CUDA 재설치 및 업그레이드 문서를 참조해 주시기 바랍니다.
Nvidia GPU 디바이스 플러그인 배치
GPU 플러그인을 배치하기 이전에는 쿠버네티스 클러스터에서 GPU 리소스를 사용할 수 없습니다.
클러스터에 GPU 노드가 운영중으로 변경된 후 NVIDIA 디바이스 플러그인을 배치하기 위해서는 아래 명령어를 실행해 주십시오.
1. Helm 설치
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 \
&& chmod 700 get_helm.sh \
&& ./get_helm.sh
2. NVIDIA device plugin helm 저장소 추가
helm repo add nvdp https://nvidia.github.io/k8s-device-plugin \
&& helm repo update
3. NVIDIA device plugin 배포
아래 명령어를 통해 kube-system 네임스페이스에 NVIDIA device plugin을 배포합니다.
helm install --generate-name nvdp/nvidia-device-plugin -n kube-system
참고
HELM Chart는 NVIDIA에서 제공하고 있으므로, 문제 상황 발생 시 NVIDIA 공식 사이트에서 변경 여부를 확인해 주십시오.
빠른 시작을 위해 간단한 Damonset을 직접 배포하여 GPU 자원을 활성화 할 수 있습니다.
$ kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.15.0/deployments/static/nvidia-device-plugin.yml
4. GPU 사용 확인
아래 명령어를 통해 노드의 상세 정보를 조회하여 GPU 리소스의 사용 가능 여부를 확인할 수 있습니다.
$ kubectl describe [node-name]
...
Capacity:
cpu: 4
ephemeral-storage: 51341792Ki
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 20474628Ki
nvidia.com/gpu: 1
pods: 110
Allocatable:
cpu: 3920m
ephemeral-storage: 47316595429
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 17425156Ki
nvidia.com/gpu: 1
pods: 110
...
디바이스 플러그인 사용
쿠버네티스는 디바이스 플러그인을 구현하여 파드가 GPU와 같은 특별한 하드웨어 기능에 접근할 수 있습니다. 자세한 내용 및 사용 방법은 공식 사이트에서 확인할 수 있습니다.
이 문서가 도움이 되었습니까?