SSH를 통해 원격 또는 로컬 VM에 K3s Kubernetes를 설치하고 kubectl 접속용 kubeconfig를 가져오는 CLI 도구입니다.
Project-HAMi/HAMi
메모리와 연산량 기준으로 GPU와 기타 AI 가속기를 Pod 간에 공유하고, 디바이스 특성을 고려해 스케줄링하는 Kubernetes 미들웨어입니다.
- 스타
- 4,896
- 포크
- 872
- 열린 이슈
- 33
- 마지막 커밋
- 11시간 전
어떤 프로젝트인가요?
HAMi(Heterogeneous AI Computing Virtualization Middleware, 이전 이름 k8s-vGPU-scheduler)는 플랫폼 팀이 고가의 GPU와 기타 AI 가속기를 Kubernetes 워크로드 간에 공유할 수 있게 합니다. Pod는 표준 Kubernetes 리소스 제한을 사용해 메모리나 코어 수 기준으로 디바이스 일부를 요청하므로 애플리케이션 코드를 변경할 필요가 없습니다.
Mutating webhook, scheduler extender, device plugin, 컨테이너 내부 가상화 구성 요소로 이루어져 있습니다. 스케줄링은 binpack, spread, topology-aware, mutex, NUMA 정책을 지원하며, NVIDIA MIG 인스턴스를 동적으로 생성하고 회수할 수 있습니다. NVIDIA, AMD, Huawei Ascend, Cambricon, Hygon, Iluvatar, Kunlunxin, MetaX, Moore Threads 등 다양한 백엔드를 지원합니다.
Helm으로 설치할 수 있으며, 선택 사항으로 고가용성 scheduler 복제본, Prometheus 메트릭, 함께 사용할 수 있는 WebUI를 제공합니다. CNCF 인큐베이팅 프로젝트입니다.
핵심 기능
- 01표준 Kubernetes 리소스 요청을 사용해 메모리 및 코어 제한 기준으로 GPU를 공유합니다.
- 02binpack, spread, topology-aware, mutex, NUMA 정책으로 Pod를 스케줄링합니다.
- 03동적 인스턴스 관리를 통해 NVIDIA MIG를 지원합니다.
- 04Ascend, Cambricon, Hygon, MetaX 등을 포함한 여러 가속기 공급업체를 지원합니다.
- 05Prometheus 메트릭을 제공하며 WebUI와 Grafana 대시보드를 지원합니다.
활용 사례
- 공유 Kubernetes AI 클러스터에서 GPU 활용률을 높입니다.
- 하나의 가속기 풀에서 멀티테넌트 노트북, 학습, 추론 워크로드를 실행합니다.
- 디바이스 할당량을 제어하는 프라이빗 클라우드 AI 플랫폼을 구축합니다.
- 여러 공급업체의 가속기가 혼재된 클러스터를 하나의 스케줄링 워크플로로 운영합니다.
빠른 시작
- 1
HAMi가 관리할 수 있도록 GPU 노드에 라벨을 지정합니다
kubectl label nodes <node-name> gpu=on - 2
HAMi Helm 리포지토리를 추가합니다
helm repo add hami-charts https://project-hami.github.io/HAMi/ - 3
Helm을 사용해 kube-system에 HAMi를 설치합니다
helm install hami hami-charts/hami -n kube-system - 4
hami-device-plugin과 hami-scheduler가 Running 상태인지 확인합니다
kubectl get pods -n kube-system
사용 전 알아둘 점
- Helm이 설치된 Kubernetes 클러스터가 필요하며, NVIDIA 경로를 사용하려면 NVIDIA 드라이버와 컨테이너 툴킷도 필요합니다.
- 유용하게 사용하려면 클러스터 노드에 가속기 하드웨어가 있어야 합니다.
토픽
자주 묻는 질문
- HAMi은(는) 무엇인가요?
- 메모리와 연산량 기준으로 GPU와 기타 AI 가속기를 Pod 간에 공유하고, 디바이스 특성을 고려해 스케줄링하는 Kubernetes 미들웨어입니다. HAMi(Heterogeneous AI Computing Virtualization Middleware, 이전 이름 k8s-vGPU-scheduler)는 플랫폼 팀이 고가의 GPU와 기타 AI 가속기를 Kubernetes 워크로드 간에 공유할 수 있게 합니다. Pod는 표준 Kubernetes 리소스 제한을 사용해 메모리나 코어 수 기준으로 디바이스 일부를 요청하므로 애플리케이션 코드를 변경할 필요가 없습니다.
- HAMi은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- HAMi은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- HAMi은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. HAMi의 마지막 커밋은 2026년 10월 21일입니다.
- HAMi은(는) 어디에 사용할 수 있나요?
- 공유 Kubernetes AI 클러스터에서 GPU 활용률을 높입니다. 하나의 가속기 풀에서 멀티테넌트 노트북, 학습, 추론 워크로드를 실행합니다. 디바이스 할당량을 제어하는 프라이빗 클라우드 AI 플랫폼을 구축합니다. 여러 공급업체의 가속기가 혼재된 클러스터를 하나의 스케줄링 워크플로로 운영합니다.
- HAMi는 어떻게 설치하나요?
- HAMi가 관리할 수 있도록 GPU 노드에 라벨을 지정합니다: kubectl label nodes <node-name> gpu=on HAMi Helm 리포지토리를 추가합니다: helm repo add hami-charts https://project-hami.github.io/HAMi/ Helm을 사용해 kube-system에 HAMi를 설치합니다: helm install hami hami-charts/hami -n kube-system hami-device-plugin과 hami-scheduler가 Running 상태인지 확인합니다: kubectl get pods -n kube-system
- HAMi은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Project-HAMi/HAMi
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Envoy 기반으로 Kubernetes Gateway API를 구현하고 AI 게이트웨이 사용 사례를 지원하는 Kubernetes 네이티브 API 게이트웨이입니다.
Kubernetes 클러스터에서 트래픽, 토폴로지, 설정 상태를 시각화하는 Istio 서비스 메시 관리 콘솔입니다.
오픈소스 올인원 팀 협업 플랫폼 Huly를 직접 호스팅하기 위한 Docker Compose 및 Kubernetes 배포 설정입니다.
온프레미스 KVM, 베어메탈, vSphere와 여러 퍼블릭 클라우드를 하나의 API로 통합하는 오픈소스 클라우드 네이티브 플랫폼입니다.
RayCluster, RayJob, RayService 리소스를 통해 Ray 애플리케이션을 배포하고 관리하는 Kubernetes 오퍼레이터입니다.