<aside> 💡 EKS가 설치된 상태이어야 함

</aside>

목표

별도로 nvidia driver를 설치하지 않아도 nvidia-device-plugin 데몬셋만 설치하면 GPU 인스턴스를 프로비저닝해주고 GPU를 사용하자

worker node 생성하기

AMI 타입을 반드시 AL2_x86_64_GPU로 선택해야 한다.

Untitled

nvidia-device-plugin 데몬셋 설치

참고: https://github.com/NVIDIA/k8s-device-plugin

이걸 설치하면 각 노드마다 nvidia.com/gpu: "1" 와 같이 자동으로 붙게 됨

kubectl create -f <https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.13.0/nvidia-device-plugin.yml>

Test용 Pod 생성

apiVersion: v1
kind: Pod
metadata:
  name: test-gpu-pod
spec:
  containers:
  - name: my-gpu-container
    image: nvidia/cuda:11.0.3-runtime-ubuntu20.04
    command: ["/bin/bash", "-c", "--"]
    args: ["while true; do sleep 600; done;"]
    resources:
      limits:
       nvidia.com/gpu: 1
    volumeMounts:
    - mountPath: /dev/shm
      name: dshm
  volumes:
  - name: dshm
    emptyDir:
      medium: Memory

생성 후 Pod에 Shell로 접속 후 nvidia-smi를 쳐보면 gpu가 제대로 할당된 것을 볼 수 있다.