cloud-barista / cb-tumblebug

Cloud-Barista Multi-Cloud Infra Management Framework
Apache License 2.0
40 stars 45 forks source link

Support GPU node group to Kubernetes cluster #1647

Open seokho-son opened 1 week ago

seokho-son commented 1 week ago

What would you like to be added

Kubernetes 클러스터를 통한 AI 워크로드 실행 지원을 위한, GPU 노드(spec) 지원

Why is this needed

많은 사람들이 이미 K8s로 머신러닝을 수행하고 있으므로, GPU 노드가 포함된 K8s 제공이 기본 기능이라고 할 수 있음.

seokho-son commented 1 week ago

ref: @sykim-etri

sykim-etri commented 4 days ago

NHNCloud의 경우 GPU 인스터스를 활용한 NKS 워커노드를 사용하려면 Image Builder를 통해 별도의 이미지를 생성해야 하는 상황이라고 합니다.

image

seokho-son commented 3 days ago

@sykim-etri 공유 감사합니다!! https://docs.nhncloud.com/ko/Container/NKS/ko/user-guide/GPU 노드 그룹 사용 에는 해당 내용이 없었던 것 같긴한데, 이미지 템플릿으로 개인 이미지를 왜 만들어야 하는지는 잘 모르겠네요.. ㅎㅎ

혹시 AWS 등 다른 CSP의 상황도 알고 계시는지요?

sykim-etri commented 3 days ago

@seokho-son Image Builder를 통하지 않고 동작 여부는 한번 테스트해 보겠습니다.

더불어 타 CSP 현황은 아직 확인하진 않은 상태이며, 확인되는데로 공유하도록 하겠습니다.

sykim-etri commented 3 days ago

NHNCloud의 경우 ImageBuilder를 통해 가용 이미지를 새롭게 생성한 후 해당 이미지로 GPU 인스턴스를 사용할 수 있는 것으로 파악됩니다.

sykim-etri commented 3 days ago

Alibaba의 경우 기본 제공하는 Alibaba Cloud Linux 3에 NVIDIA 드라이버 등이 포함되어 있어서 쿠버네티스에서 GPU 장치 확인이 가능하였습니다.

쿠버네티스용(ACK)으로 활용 가능한 인스턴스 타입이 일반 인스턴스 타입보다는 많이 적었고, vGPU는 지원하지 않는다고 합니다. link

더불어 NVIDIA GPU 드라이버 버전 업데이트 방법 등에 대해 안내하고 있는데, 각 노드를 CB-TB 객체화하여 SSH 접속할 방안도 제공해야 할 필요성도 있을 것 같습니다. (장기적으로) link

sykim-etri commented 2 days ago

Tencent의 경우 노드 타입(비교)에 따라 GPU 드라이버 제공 방식이 다소 상이하나 기본적으로는 GPU 드라이버 제공 방식이 기본 이미지에 GPU 관련 드라이버를 설치(?)하는 방식을 제공하는 것으로 보입니다. 콘솔을 통해 GPU 워커 노드 할당을 시도하여 쿠버네티스에서 nvidia-device-plugin-daemonset Pod가 실행됨을 확인하였습니다.

참고로 관련 문서가 최신 정보를 담고 있지는 않은 상황입니다. link