블로그 이미지
Cloud Engineer

OpenShift(OCP) 중심 클라우드 엔지니어의 기술 기록

OpenShift Container Platform(OCP)을 중심으로 프라이빗 클라우드 구축·운영과 레거시 → 클라우드 전환 경험을 정리합니다. 직접 부딪힌 문제와 트러블슈팅 과정을 위주로 기록해요.

OpenShift (OCP) Private Cloud Legacy to Cloud
전체 방문자
오늘
어제

GitHub Activity

GitHub Stats Top Languages
GitHub Streak

Tech Stack

Container & Orchestration

OpenShift OpenShift Virtualization RKE2 Rancher Kubernetes Docker Helm

Middleware / WAS

JBoss Apache HTTPD Tomcat

Cloud

AWS Google Cloud

Auth / Identity

Keycloak Google OIDC OAuth2 Proxy

Automation / IaC

Ansible

카테고리 둘러보기

DevOps/Openshift Cloud Platform 2026. 9. 17. 09:52

OpenShift에서 GPU 나눠쓰기 - NVIDIA MIG(Multi-Instance GPU) 정리

728x90

OpenShift 4.20에서 AI/ML 워크로드 기본 지원이 강화되면서 자주 언급되는 NVIDIA MIG(Multi-Instance GPU)의 개념, 설치 순서, 전략별 차이, 실제 설정 예시, 그리고 라이선스 이슈를 정리합니다.

MIG란 무엇인가

MIG는 Ampere 세대 이후(A100, H100 등) NVIDIA GPU의 하드웨어 레벨 파티셔닝 기능입니다. 물리 GPU 하나를 최대 7개의 독립된 인스턴스로 분할하며, 각 인스턴스는 컴퓨트 코어·메모리·캐시가 완전히 분리되어 서로 다른 파드에서 사용해도 성능 간섭이 없습니다. 즉 "타임 슬라이싱"처럼 순서대로 돌아가며 쓰는 게 아니라, 실제로 하드웨어 수준에서 별도의 작은 GPU처럼 동작합니다.

왜 필요한가

추론(inference) 워크로드나 경량 모델 서빙은 A100 한 장의 성능을 전부 쓸 필요가 없는 경우가 많습니다. GPU 하나를 파드 하나가 통째로 점유해버리면 나머지 자원은 그대로 낭비됩니다. MIG를 쓰면 GPU 한 장을 여러 팀·여러 워크로드가 안전하게 나눠 쓸 수 있어 GPU 활용률과 비용 효율이 크게 올라갑니다.

사전 준비 - 설치 순서

단계 내용
1. Node Feature Discovery(NFD) Operator 설치 클러스터 노드의 하드웨어 특성을 감지해 라벨을 붙여줌 (GPU 장착 노드 식별의 전제조건)
2. NVIDIA GPU Operator 설치 OLM을 통해 구독. 드라이버, 컨테이너 툴킷, 디바이스 플러그인, DCGM 모니터링까지 GPU 소프트웨어 생명주기 전체를 관리
3. ClusterPolicy CR 적용 GPU Operator의 실제 동작 방식(MIG 전략 포함)을 정의하는 커스텀 리소스
4. 결과 확인 관련 파드와 노드의 GPU 용량(nvidia.com/gpu 등 리소스)이 정상 노출되는지 확인

MIG 전략 두 가지

전략 특징
single 노드의 모든 GPU를 동일한 구성으로만 분할(동질적). 모든 인스턴스가 기존과 같은 nvidia.com/gpu 리소스로 노출되어 기존 애플리케이션과 호환성이 좋음. 대규모 클러스터의 전용 노드 풀에 적합
mixed 같은 노드 안에서도 GPU마다 서로 다른 분할 구성을 허용(이질적). nvidia.com/mig-1g.5gb 처럼 인스턴스 종류별로 별도 리소스명이 노출됨. GPU가 적은 소규모 클러스터에 적합

MIG 프로파일 예시 (A100-40GB 기준)

프로파일 인스턴스 수 메모리
1g.5gb 최대 7개 5GB
2g.10gb 최대 3개 10GB
3g.20gb 최대 2개 20GB
7g.40gb 1개 (GPU 전체) 40GB

실제 설정 예시

ClusterPolicy에서 MIG 전략을 mixed로 변경합니다.

oc patch clusterpolicy/gpu-cluster-policy --type='json' \
  -p='[{"op": "replace", "path": "/spec/mig/strategy", "value": "mixed"}]'

노드에 원하는 MIG 구성을 라벨로 지정하면 MIG Manager가 실제 파티셔닝을 수행합니다.

oc label node <노드명> nvidia.com/mig.config=all-2g.10gb --overwrite

mixed 전략에서는 파드가 원하는 인스턴스 종류를 직접 요청합니다.

resources:
  limits:
    nvidia.com/mig-2g.10gb: 1

single 전략에서는 일반 GPU 리소스 요청 + nodeSelector로 원하는 MIG 지오메트리를 가진 노드를 지정합니다.

resources:
  limits:
    nvidia.com/gpu: 1
nodeSelector:
  nvidia.com/gpu.product: A100-SXM4-40GB-MIG-1g.5gb

라이선스는 필요한가 - 베어메탈 vs vGPU

GPU Operator 자체는 오픈소스이고, 이 글에서 다룬 베어메탈 MIG(물리 GPU를 노드에 패스스루하고 그 위에서 MIG로 분할하는 방식)는 별도 라이선스 없이 무료로 사용할 수 있습니다. 표준 NVIDIA 드라이버로 일반 CUDA/MIG 워크로드를 돌리는 데는 NVIDIA AI Enterprise(NVAIE) 구독이 필요하지 않습니다.

다만 배포 방식에 따라 라이선스가 반드시 필요한 경우가 있어 구분해서 정리합니다.

배포 방식 라이선스 필요 여부
베어메탈 MIG (이 글에서 다룬 방식) 불필요. 오픈소스 GPU Operator + 표준 드라이버로 무료 사용
vGPU (OpenShift Virtualization/KubeVirt로 VM들이 GPU를 가상화해 나눠 쓰는 방식) 필수. NVIDIA License System(NLS)이 소프트웨어적으로 강제되며, 라이선스가 없으면 성능이 저하됨
NVIDIA AI Enterprise(NVAIE) 구독 선택. 지원 SLA와 NGC의 게이트된 컨테이너(NIM 마이크로서비스 등) 접근이 목적이며 베어메탈 사용 자체에는 필수가 아님

vGPU를 쓰는 경우에는 NGC API 키로 vGPU 드라이버 이미지에 접근하고, NLS 클라이언트 토큰을 발급받아 client_configuration_token.tok 형태로 클러스터에 적용해야 합니다.

  • 참고: MIG는 Ampere 세대 이상(A100, H100 등) GPU에서만 지원되며, 이전 세대(V100 등)는 MIG 없이 타임 슬라이싱 방식만 사용할 수 있습니다.
  • 참고: nvidia.com/mig.config 라벨을 바꿔 파티셔닝 구성을 변경하면 해당 노드의 GPU가 재구성되는 동안 일시적으로 워크로드를 받을 수 없으므로, 운영 중인 노드는 드레인 후 작업하는 것이 안전합니다.
  • 주의: single 전략은 노드 내 모든 GPU가 동일한 MIG 구성을 가져야 하므로, 서로 다른 크기의 워크로드를 같은 노드에서 유연하게 섞어 돌리고 싶다면 mixed 전략이 더 적합합니다.
  • 주의: OpenShift 4.20부터는 Operators 메뉴 경로가 "Ecosystem > Installed Operators"로 바뀌었으므로, 이전 버전 문서를 참고할 때 콘솔 경로가 다를 수 있다는 점에 유의해야 합니다.
  • 주의: OpenShift Virtualization으로 GPU를 VM에 vGPU로 나눠준다면 라이선스 설정을 빠뜨리기 쉬우니, 베어메탈 MIG와는 별개로 반드시 NLS 설정을 확인해야 합니다.
  • 참고 문서: NVIDIA AI Enterprise with OpenShift (NVIDIA 공식 문서)
  • 참고 문서: MIG Support in OpenShift Container Platform (NVIDIA 공식 문서)
  • 참고 문서: NVIDIA AI Enterprise: What You Are Actually Paying For, and Whether You Need It
  • 참고 문서: When Do You Need an NVIDIA AI Enterprise License with GPU Virtualization?
728x90