For the complete documentation index, see llms.txt. This page is also available as Markdown.

Sử dụng Multi-Instance GPU (MIG)

Hướng dẫn này giúp bạn cấu hình Multi-Instance GPU (MIG) trên VKS để phân chia GPU NVIDIA H100 thành nhiều MIG instance độc lập — mỗi instance có VRAM và Streaming Multiprocessors riêng biệt, đảm bảo isolation hoàn toàn giữa các workload.

Kiến trúc MIG trên VKS — GPU 0 phân thành 2 MIG instances, GPU 1 giữ nguyên full GPU
Kiến trúc MIG trên VKS: GPU Operator quản lý cả GPU MIG (2x 3g.40gb) và non-MIG (full 80GB) trên cùng một node

Điều kiện cần (Prerequisites)

  • Đã có VKS Cluster đang hoạt động với node group sử dụng GPU NVIDIA H100 (hoặc Ampere/Hopper trở lên — MIG chỉ hỗ trợ từ kiến trúc Ampere).

  • Đã cài đặt kubectlhelm trên máy local.

  • Đã cài đặt yq version ≥ 4 để merge YAML an toàn (xem Bước 2).

  • kubectl đã được kết nối đến cluster. Kiểm tra bằng kubectl get nodes.


Bước 1: Cài GPU Operator với MIG Strategy mixed

MIG trên VKS yêu cầu NVIDIA GPU Operator. VKS node không có NVIDIA driver được cài sẵn nên bắt buộc bật driver.enabled=true.

Chiến lược mixed cho phép dùng cả GPU ở chế độ MIG và non-MIG trên cùng một node — ví dụ: GPU 0 phân mảnh thành MIG instances, GPU 1 giữ nguyên full GPU.

Bước 1.1: Thêm Helm repo NVIDIA và cài GPU Operator

Bước 1.2: Kiểm tra trạng thái pods

Đợi khoảng 5–10 phút để GPU Operator deploy driver container vào node, sau đó chạy:

Tất cả pods phải ở trạng thái Running hoặc Completed:

Pod
Trạng thái kỳ vọng

gpu-feature-discovery

Running

nvidia-container-toolkit

Running

nvidia-cuda-validator

Completed

nvidia-dcgm-exporter

Running

nvidia-device-plugin-daemonset

Running

nvidia-driver-daemonset

Running

nvidia-mig-manager

Running

nvidia-operator-validator

Running

GPU Operator pods đang chạy
Tất cả GPU Operator pods ở trạng thái Running/Completed

Bước 2: Tạo custom MIG ConfigMap

GPU Operator tự động overwrite default-mig-parted-config sau mỗi reconcile. Vì vậy bạn phải tạo một ConfigMap mới với tên khác và trỏ migManager.config.name vào đó.

Bước 2.1: Cài yq nếu chưa có

Bước 2.2: Lấy config gốc từ ConfigMap mặc định

Bước 2.3: Merge profile mới vào file YAML bằng yq

Trong ví dụ này:

  • GPU 0 được bật MIG với profile 3g.40gb — chia thành 2 instances, mỗi instance có 40 GB VRAM và 60 Streaming Multiprocessors.

  • GPU 1 giữ nguyên non-MIG (full 80 GB).

Bước 2.4: Kiểm tra cấu trúc YAML trước khi apply

Bước 2.5: Tạo ConfigMap và upgrade GPU Operator

Helm value migManager.config.default chỉ chấp nhận "all-disabled" hoặc "". Để trỏ sang ConfigMap tùy chỉnh, dùng migManager.config.name.


Bước 3: Apply MIG config lên Node

Gán label nvidia.com/mig.config cho node để kích hoạt MIG profile:

Theo dõi log của MIG Manager để xác nhận config được apply thành công:

Kết quả thành công:

MIG Manager log xác nhận apply config thành công
MIG Manager xác nhận apply config thành công với trạng thái "success"

Bước 4: Verify node resources

Kiểm tra node đã expose đúng MIG resources:

Kết quả kỳ vọng (với cấu hình 2x MIG 3g.40gb + 1 full GPU):

Kiểm tra các node labels do MIG Manager gán:

Label
Giá trị ví dụ
Ý nghĩa

nvidia.com/mig-3g.40gb.count

2

Số MIG instance

nvidia.com/mig-3g.40gb.memory

40448 MiB

VRAM mỗi instance

nvidia.com/mig-3g.40gb.multiprocessors

60

Số Streaming Multiprocessors

nvidia.com/mig.config.state

success

Trạng thái apply config

nvidia.com/mig.strategy

mixed

Chiến lược MIG đang dùng

Node resources sau khi apply MIG config
Node expose đúng 2 MIG instances (mig-3g.40gb: 2) và 1 full GPU (gpu: 1)

Bước 5: Deploy workload sử dụng MIG instance

Khai báo nvidia.com/mig-3g.40gb trong resources.limits — Kubernetes scheduler sẽ tự động phân phối MIG instance cho Pod mà không cần cấu hình thêm.

Deploy 2 pods song song để kiểm tra isolation:

Mỗi Pod sẽ nhận một MIG UUID khác nhau — xác nhận isolation hoàn toàn:

2 pods nhận UUID MIG khác nhau
Mỗi Pod được assign MIG UUID riêng biệt — isolation hoàn toàn giữa các workload

(Tuỳ chọn) Bước 6: Dọn dẹp


Kết quả

Sau khi hoàn thành, node VKS của bạn expose đồng thời cả MIG instances và full GPU:

Resource
K8s Resource Name
Capacity

GPU 0 — MIG (2x 3g.40gb)

nvidia.com/mig-3g.40gb

2

GPU 1 — non-MIG (full 80 GB)

nvidia.com/gpu

1

Mỗi MIG instance 3g.40gb có: 40 GB VRAM · 60 SM · isolation hoàn toàn.

Tôi muốn tiếp theo...
Đi đến

Autoscale GPU Nodegroup

So sánh các GPU Sharing modes

Last updated