Kubernetes cho Điều phối GPU: Quản lý Cụm Hàng Nghìn GPU

OpenAI điều phối 25.000 GPU trên Kubernetes với tỷ lệ sử dụng 97%. Làm chủ lập lịch GPU, nhận biết topology và mở rộng quy mô vượt 5.000 node.

Kubernetes cho Điều phối GPU: Quản lý Cụm Hàng Nghìn GPU

Kubernetes cho Điều phối GPU: Quản lý Cụm Hàng Nghìn GPU

Cập nhật ngày 8 tháng 12, 2025

Cập nhật tháng 12/2025: Dynamic Resource Allocation (DRA) trong Kubernetes 1.31+ đã chính thức phát hành (GA), cho phép phân vùng GPU chi tiết và chia sẻ thời gian. NVIDIA GPU Operator 24.6+ bổ sung hỗ trợ Blackwell và cải thiện quản lý MIG. Kueue (hệ thống xếp hàng job native của Kubernetes) đạt độ trưởng thành production cho các workload AI. Run:ai và CoreWeave đã triển khai thành công cụm hơn 50.000 GPU trên Kubernetes. Các công cụ federation đa cụm (Liqo, Admiralty) cho phép điều phối GPU xuyên cloud. Hỗ trợ vGPU được cải thiện cho các triển khai inference đa tenant.

OpenAI điều phối 25.000 GPU trên nhiều cụm Kubernetes để huấn luyện các mô hình GPT, sử dụng các operator tùy chỉnh tự động xử lý lỗi GPU, cân bằng lại workload theo thời gian thực và duy trì tỷ lệ sử dụng 97% mặc dù lỗi phần cứng xảy ra trung bình mỗi 2,5 giờ.¹ Đội ngũ hạ tầng của công ty phát hiện rằng Kubernetes nguyên bản sụp đổ ở khoảng 5.000 node nếu không có các sửa đổi mở rộng, buộc họ phải triển khai federation cụm phân cấp, thuật toán lập lịch tùy chỉnh và autoscaling nhận biết GPU coi mỗi H100 trị giá 30.000 đô la như một tài nguyên quý giá cần theo dõi riêng lẻ. Quản lý GPU ở quy mô lớn khác biệt cơ bản so với điều phối CPU—một GPU bị lỗi trong quá trình huấn luyện phân tán có thể lãng phí hàng triệu đô la thời gian tính toán, trong khi lập lịch kém tách biệt các GPU kết nối qua NVLink gây suy giảm hiệu suất 8 lần. Các tổ chức thành công trong việc điều phối hàng nghìn GPU trên Kubernetes báo cáo tỷ lệ sử dụng tốt hơn 35%, thời gian triển khai nhanh hơn 60% và giảm 90% chi phí vận hành so với quản lý bare-metal.²

Kubernetes thống lĩnh điều phối container với 88% thị phần, nhưng hỗ trợ GPU đến muộn và vẫn đầy thách thức ở quy mô lớn.³ NVIDIA GPU Operator, ra mắt năm 2019, cuối cùng đã mang quản lý GPU cấp doanh nghiệp đến Kubernetes, cho phép các tính năng như cài đặt driver động, triển khai device plugin tự động và giám sát sức khỏe GPU. Các tổ chức chạy workload AI trên Kubernetes phải điều hướng cấu hình device plugin, quy tắc node affinity, lập lịch nhận biết topology và resource quota ngăn các team đơn lẻ chiếm độc quyền tài nguyên GPU. Tuy nhiên, những ai làm chủ Kubernetes cho điều phối GPU có khả năng coi hàng nghìn GPU như một pool tài nguyên lập trình được duy nhất, đạt tỷ lệ sử dụng và hiệu quả vận hành không thể có với các scheduler HPC truyền thống.

Kiến trúc GPU device plugin

Framework device plugin của Kubernetes cho phép khám phá, phân bổ và giám sát sức khỏe GPU trên các cụm:

NVIDIA GPU Device Plugin đóng vai trò giao diện chính giữa Kubernetes và GPU NVIDIA.⁴ Plugin chạy như DaemonSet trên mỗi node GPU, đăng ký GPU như tài nguyên có thể lập lịch với kubelet. Trong quá trình khởi tạo, plugin truy vấn NVIDIA Management Library (NVML) để khám phá GPU khả dụng, dung lượng bộ nhớ, khả năng tính toán và topology kết nối. Plugin quảng bá GPU cho Kubernetes scheduler sử dụng tên tài nguyên nvidia.com/gpu, cho phép pod yêu cầu GPU thông qua các đặc tả tài nguyên tiêu chuẩn.

Quy trình Đăng ký Device Plugin: 1. Plugin khởi động và khám phá GPU cục bộ qua NVML 2. Đăng ký với kubelet thông qua Unix socket tại /var/lib/kubelet/device-plugins/ 3. Quảng bá GPU khả dụng với ID thiết bị duy nhất 4. Triển khai Allocate() RPC để gán GPU cho container 5. Giám sát sức khỏe GPU và báo cáo lỗi cho kubelet 6. Xử lý dọn dẹp GPU khi pod kết thúc

Hỗ trợ Multi-Instance GPU (MIG) cho phép phân vùng GPU A100 và H100 thành các instance cô lập.⁵ Mỗi instance MIG xuất hiện như một GPU riêng biệt với Kubernetes, cho phép phân bổ tài nguyên chi tiết. Device plugin quản lý các profile MIG, xử lý việc tạo, xóa và gán các instance. Các tổ chức đạt tỷ lệ sử dụng GPU tốt hơn 7 lần bằng cách phân vùng GPU sử dụng chưa hết cho các workload nhỏ hơn. Cấu hình MIG đòi hỏi lập kế hoạch cẩn thận vì các chế độ phân vùng không thể thay đổi mà không drain node.

Các Device Plugin Thay thế cung cấp sự đa dạng nhà cung cấp: - AMD Device Plugin hỗ trợ GPU hỗ trợ ROCm như MI250X - Intel Device Plugin quản lý GPU Intel và accelerator Gaudi - Xilinx FPGA Device Plugin điều phối tài nguyên FPGA - Google TPU Device Plugin cho cụm GKE

Chiến lược lập lịch cho workload GPU

Lập lịch GPU hiệu quả tối đa hóa sử dụng trong khi duy trì hiệu suất:

Gang Scheduling đảm bảo các job huấn luyện phân tán nhận tất cả GPU yêu cầu đồng thời. Không có gang scheduling, phân bổ tài nguyên một phần gây deadlock—các job chờ mãi mãi GPU còn lại không bao giờ khả dụng. Các plugin scheduler Kubernetes như Volcano và Apache YuniKorn triển khai gang scheduling thông qua PodGroups.⁶ Các job chỉ định yêu cầu GPU tối thiểu, và scheduler hoặc phân bổ tất cả tài nguyên hoặc xếp hàng toàn bộ job. Gang scheduling giảm tỷ lệ sử dụng cụm 10-15% nhưng ngăn chặn job huấn luyện bị đói tài nguyên.

Lập lịch Nhận biết Topology tối ưu hóa vị trí GPU dựa trên kết nối phần cứng. GPU kết nối qua NVLink đạt băng thông 600GB/s so với 32GB/s qua PCIe.⁷ Scheduler kiểm tra topology node để đặt các pod liên quan trên GPU có kết nối nhanh. NVIDIA GPU Feature Discovery gán nhãn node với thông tin topology cho phép quy tắc affinity. Quyết định topology kém gây suy giảm hiệu suất 3-8 lần cho workload nặng giao tiếp. Nhận biết topology trở nên quan trọng khi vượt 8 GPU mỗi job.

Bin Packing vs Spreading: Bin packing tập trung workload trên ít node hơn, cải thiện cache locality và giảm traffic mạng. Spreading phân phối công việc trên các node để có khả năng chịu lỗi và quản lý nhiệt tốt hơn. Chiến lược tối ưu phụ thuộc vào đặc điểm workload—job huấn luyện hưởng lợi từ bin packing trong khi inference ưa thích spreading. Các chiến lược động điều chỉnh dựa trên tỷ lệ sử dụng cụm và hỗn hợp workload.

Priority và Preemption: Workload production nhận priority cao hơn job phát triển. Scheduler preempt pod priority thấp hơn khi tài nguyên khan hiếm. Cấu hình priority cẩn thận ngăn job nghiên cứu chặn inference production. Checkpointing preemption đảm bảo tiến độ huấn luyện không bị mất. Các lớp priority dao động từ system-critical (1000000) đến development (100).

Fair Sharing và Quota: Resource quota ngăn các team đơn lẻ chiếm độc quyền GPU. Quota phân cấp cho phép giới hạn toàn tổ chức với sub-quota theo team cụ thể. Lập lịch fair share đảm bảo phân phối tài nguyên công bằng theo thời gian. Người dùng tiêu thụ ít tài nguyên hơn tích lũy credit cho burst capacity tương lai. Hệ thống queue như Kueue cung cấp xếp hàng job với admission control tinh vi.

Cân nhắc mở rộng quy mô

Mở rộng Kubernetes lên hàng nghìn GPU đòi hỏi sửa đổi kiến trúc:

Giới hạn Kích thước Cụm: Cụm Kubernetes đơn hỗ trợ tối đa 5.000 node trước khi hiệu suất etcd suy giảm.⁸ Tải API server tăng theo bình phương với số lượng node do cơ chế watch. Vòng lặp reconciliation của controller manager chậm lại khi vượt 1.000 node. Network policy trở nên khó quản lý ở quy mô lớn. Hầu hết tổ chức giới hạn cụm ở 500-1.000 node GPU để ổn định vận hành.

Federation Đa Cụm: Triển khai lớn sử dụng nhiều cụm Kubernetes quản lý thông qua federation. Admiralty hoặc Virtual Kubelet cho phép lập lịch xuyên cụm. Công cụ GitOps như Flux hoặc ArgoCD đồng bộ cấu hình giữa các cụm. Công nghệ service mesh cung cấp mạng xuyên cụm. Federation thêm độ phức tạp nhưng cho phép mở rộng ngang vượt giới hạn cụm đơn.

Quản lý Tài nguyên Phân cấp: Tổ chức cụm theo phân cấp với cụm quản lý điều khiển cụm workload. Cụm quản lý chạy các thành phần control plane và logic lập lịch. Cụm workload host pod GPU mà không cần controller phức tạp. Thiết kế phân cấp giảm phạm vi ảnh hưởng của lỗi. Tách biệt rõ ràng các mối quan tâm đơn giản hóa khắc phục sự cố.

Custom Resource Definitions (CRDs) cho workload AI: - TrainingJob: Định nghĩa đặc tả huấn luyện phân tán - InferenceService: Quản lý triển khai phục vụ mô hình - GPUPool: Đại diện cho nhóm GPU logic - Checkpoint: Xử lý lưu trạng thái huấn luyện - ModelVersion: Theo dõi các phiên bản và dòng dõi mô hình

Tối ưu hóa hiệu suất cho quy mô: - Vô hiệu hóa admission webhook không sử dụng giảm độ trễ API - Triển khai pod topology spread constraint để phân phối đều - Sử dụng local SSD cho container image tránh nghẽn cổ chai mạng - Bật CPU manager cho phân bổ CPU đảm bảo - Cấu hình huge pages cho yêu cầu bộ nhớ mô hình lớn

Giám sát và quan sát

Giám sát toàn diện ngăn chặn lãng phí hàng triệu đô la thời gian GPU nhàn rỗi:

NVIDIA Data Center GPU Manager (DCGM) cung cấp metric đặc thù GPU không có sẵn qua giám sát Kubernetes tiêu chuẩn.⁹ DCGM xuất hơn 100 metric bao gồm sử dụng SM, băng thông bộ nhớ, nhiệt độ, tiêu thụ điện năng và lỗi ECC. Tích hợp Prometheus cho phép lưu trữ metric dài hạn và cảnh báo. Dashboard Grafana trực quan hóa hiệu suất GPU trên toàn bộ đội. Cảnh báo tùy chỉnh phát hiện GPU sử dụng chưa hết, throttling nhiệt và suy giảm phần cứng trước khi lỗi xảy ra.

Metric GPU Quan trọng cho giám sát Kubernetes: - GPU Utilization: Phần trăm SM hoạt động (mục tiêu >90%) - Memory Utilization: Bộ nhớ GPU đã phân bổ so với khả dụng - Power Draw: Thực tế so với TDP chỉ báo throttling - Temperature: Nhiệt độ GPU và bộ nhớ - PCIe Bandwidth: Tốc độ truyền dữ liệu đến/từ GPU - NVLink Traffic: Băng thông giao tiếp giữa GPU - Training Metrics: Đường cong loss, gradient norm, learning rate - Inference Metrics: Request mỗi giây, P99 latency, batch size

Distributed Tracing theo dõi request trên nhiều GPU và node. OpenTelemetry instrumentation ghi lại thời gian training step, độ trễ tải dữ liệu và thời gian checkpoint. Jaeger hoặc Tempo cung cấp lưu trữ và phân tích distributed trace. Tương quan giữa trace và metric xác định các điểm nghẽn hiệu suất. Khả năng quan sát end-to-end giảm thời gian giải quyết trung bình 70%.

Log Aggregation tập trung log từ hàng nghìn pod GPU. Fluentd hoặc Fluent Bit thu thập log container với overhead tối thiểu. Elasticsearch lưu trữ log với chính sách index tự động và retention. Kibana cho phép tìm kiếm và phân tích log trên toàn bộ cụm. Structured logging với định dạng nhất quán đơn giản hóa khắc phục sự cố. Cảnh báo về pattern lỗi chỉ báo vấn đề hệ thống.

Introl triển khai và quản lý cụm Kubernetes cho điều phối GPU trên vùng phủ sóng toàn cầu của chúng tôi, với chuyên môn mở rộng quy mô lên hơn 10.000 GPU.¹⁰ Các đội platform engineering của chúng tôi đã triển khai operator tùy chỉnh và cải tiến lập lịch để tối ưu hóa sử dụng GPU.

Mẫu triển khai production

Kiến trúc Cụm Huấn luyện tại Anthropic: - Quy mô: 4.000 GPU trên 8 cụm Kubernetes - Topology: Federation phân cấp với scheduler trung tâm - Storage: Hệ thống file Lustre phân tán cho dữ liệu huấn luyện - Networking: Fabric RoCE v2 với 200Gbps mỗi node - Scheduling: Gang scheduler tùy chỉnh với nhận biết topology - Monitoring: DCGM + Prometheus với scrape interval 15 giây - Kết quả: Tỷ lệ sử dụng GPU 94%, giảm 50% thời gian huấn luyện

Nền tảng Inference tại Uber: - Workload: 500 triệu dự đoán hàng ngày - Hạ tầng: 2.000 GPU T4 trên 20 region - Điều phối: Kubernetes với Knative cho serverless - Autoscaling: Scaling dự đoán dựa trên pattern traffic - Load Balancing: Envoy proxy với routing least-latency - Tối ưu hóa: Model caching giảm cold start xuống 2 giây - Kết quả: Giảm 65% chi phí so với kiến trúc trước

Hybrid Training-Inference tại Spotify: - GPU: 3.000 đội V100/A100/T4 hỗn hợp - Scheduling: Chia sẻ time-sliced cho phát triển - Isolation: Kata container cho bảo mật đa tenant - Cos

[Nội dung đã được cắt ngắn cho bản dịch]

Yêu cầu báo giá_

Hãy cho chúng tôi biết về dự án của bạn và chúng tôi sẽ phản hồi trong vòng 72 giờ.

> TRUYỀN_TẢI_HOÀN_TẤT

Đã Nhận Yêu cầu_

Cảm ơn bạn đã gửi yêu cầu. Đội ngũ của chúng tôi sẽ xem xét và phản hồi trong vòng 72 giờ.

ĐANG XẾP HÀNG XỬ LÝ