Kubernetes GPU Cluster
Kubernetes üzerinde GPU iş yükü orchestration. NVIDIA GPU Operator, Volcano scheduler ve konteyner tabanlı HPC iş yükü yönetimi.
Yapay zeka ve yüksek başarımlı hesaplama (HPC) iş yükleri büyüdükçe GPU kaynaklarını verimli, güvenli ve ölçeklenebilir biçimde yönetmek kritik hale gelir. Kubernetes, başlangıçta CPU tabanlı mikro servisler için tasarlanmış olsa da bugün GPU hızlandırmalı iş yüklerinin orkestre edilmesinde fiili standart konumuna gelmiştir. Mevasis, NVIDIA GPU Operator ve Volcano scheduler bileşenleriyle güçlendirilen Kubernetes GPU Cluster çözümüyle kurumunuzun hesaplama altyapısını bir üst seviyeye taşır.
Kubernetes GPU Cluster Nedir?
Kubernetes GPU Cluster, bir ya da daha fazla GPU donanımlı fiziksel ya da sanal sunucunun Kubernetes control plane altında yönetilen bir küme olarak çalıştırıldığı mimaridir. Bu mimaride her GPU kaynağı, Kubernetes tarafından bir “extended resource” olarak tanımlanır; iş yükleri Pod tanımlarında bu kaynakları talep eder ve scheduler uygun düğüme yerleştirir.
Geleneksel HPC ortamlarında SLURM gibi iş kuyruğu yöneticileri kullanılırken, Kubernetes tabanlı yaklaşım aşağıdaki avantajları beraberinde getirir:
- Konteyner izolasyonu: Her iş yükü bağımsız ortamda çalışır; kütüphane çakışmaları ortadan kalkar.
- Bildirimsel yapılandırma: Altyapı YAML manifestleri aracılığıyla kod olarak yönetilir.
- Otomatik yeniden başlatma ve kurtarma: Başarısız Pod’lar otomatik olarak yeniden planlanır.
- Ekosistem entegrasyonu: Helm chart’ları, GitOps iş akışları ve CI/CD pipeline’larıyla doğal entegrasyon sağlanır.
Temel Bileşenler
NVIDIA GPU Operator
NVIDIA GPU Operator, GPU düğümlerinde gerekli tüm yazılım bileşenlerini otomatik olarak yöneten bir Kubernetes operatörüdür. Manuel sürücü kurulumu, CUDA araç seti yapılandırması ve container runtime entegrasyonu gibi karmaşık adımları otomatize eder.
GPU Operator tarafından yönetilen bileşenler:
| Bileşen | Görev |
|---|---|
| NVIDIA Driver | GPU çekirdeği ile işletim sistemi arasındaki köprü |
| CUDA Toolkit | Paralel hesaplama kütüphaneleri |
| Container Toolkit | Docker/containerd için GPU erişimi |
| Device Plugin | Kubernetes’in GPU’ları kaynak olarak görmesini sağlar |
| DCGM Exporter | GPU metriklerini Prometheus’a aktarır |
| MIG Manager | A100/H100 gibi kartlarda Multi-Instance GPU bölümleme |
Volcano Scheduler
Standart Kubernetes scheduler, Batch ve HPC iş yükleri için tasarlanmamıştır. Volcano, bu boşluğu dolduran CNCF bünyesindeki özelleşmiş bir iş kuyruğu ve scheduler projesidir.
Volcano’nun sağladığı özellikler:
- Gang scheduling: Dağıtık eğitim işlerinin (örn. PyTorch DDP) tüm Pod’ları aynı anda başlatılır; kısmi kaynak kullanımı engellenir.
- Preemption ve priority: Yüksek öncelikli işler kaynak yetersizliğinde düşük öncelikli işleri askıya alabilir.
- Queue yönetimi: Farklı ekip veya projelere kaynak kotaları atanır.
- Backfill: Boş kapasiteyi küçük işlerle dolduran akıllı planlama.
Çok Kiracılı Mimari (Multi-Tenancy)
Kurumsal ortamlarda birden fazla ekip ya da departman aynı GPU cluster’ı kullanır. Kubernetes’in namespace ve RBAC mekanizmaları bu ihtiyacı karşılamak için temel araçları sağlar. Mevasis, bu yapıyı Volcano queue’ları ve ResourceQuota nesneleriyle güçlendirir:
apiVersion: scheduling.volcano.sh/v1beta1
kind: Queue
metadata:
name: ml-team-queue
spec:
weight: 60
capability:
nvidia.com/gpu: "8"
---
apiVersion: v1
kind: ResourceQuota
metadata:
name: ml-team-quota
namespace: ml-team
spec:
hard:
requests.nvidia.com/gpu: "8"
limits.nvidia.com/gpu: "8"
requests.memory: "256Gi"
Bu yapılandırmayla ML ekibi maksimum 8 GPU ve 256 GB bellek kullanabilir; diğer ekiplerin kaynakları korunur.
Tipik İş Yükü: Dağıtık Model Eğitimi
Kubernetes GPU Cluster üzerinde çalışan bir PyTorch dağıtık eğitim işi, Volcano’nun Job nesnesiyle tanımlanır:
apiVersion: batch.volcano.sh/v1alpha1
kind: Job
metadata:
name: pytorch-ddp-training
spec:
minAvailable: 4
schedulerName: volcano
queue: ml-team-queue
tasks:
- replicas: 4
name: worker
template:
spec:
containers:
- name: pytorch
image: nvcr.io/nvidia/pytorch:24.01-py3
command:
- torchrun
- --nproc_per_node=2
- train.py
resources:
requests:
nvidia.com/gpu: "2"
memory: "64Gi"
limits:
nvidia.com/gpu: "2"
restartPolicy: OnFailure
minAvailable: 4 parametresi gang scheduling’i etkinleştirir; dört Pod’un tamamı için kaynak sağlanmadan iş başlatılmaz. Bu sayede kısmi başlatmadan kaynaklanan kaynak israfı ve kilitlenme (deadlock) önlenir.
Gözlemlenebilirlik ve İzleme
Mevasis tarafından kurulan Kubernetes GPU Cluster, tam kapsamlı bir izleme altyapısıyla birlikte gelir:
- DCGM Exporter: GPU kullanım oranı, bellek doluluk, sıcaklık, güç tüketimi ve NVLink bant genişliği metriklerini toplar.
- kube-state-metrics: Pod, node ve kuyruk durumlarını Prometheus’a aktarır.
- Grafana: GPU cluster durumunu gösteren hazır dashboard’lar (node başına GPU kullanımı, kuyruk beklemedeki işler, ekip bazında tüketim).
- Alertmanager: GPU sıcaklık eşiği aşımı, düğüm NotReady durumu ve kaynak kotası ihlali için otomatik uyarılar.
Ağ Altyapısı: InfiniBand ve RoCE Entegrasyonu
Dağıtık derin öğrenme iş yükleri, düğümler arası düşük gecikmeli ve yüksek bantlı iletişim gerektirir. Mevasis, Kubernetes GPU Cluster’a entegre olacak ağ altyapısını da yapılandırır:
- NVIDIA Mellanox InfiniBand: RDMA destekli, 100 Gb/s-400 Gb/s arası bant genişliği; kolektif operasyonlar için ideal.
- RoCE (RDMA over Converged Ethernet): Mevcut Ethernet altyapısı üzerinde RDMA semantiği.
- Multus CNI: Pod’lara hem standart Kubernetes ağı hem de InfiniBand/RoCE arayüzü atamasını sağlar.
Mevasis’in Kurulum Süreci
Mevasis, Kubernetes GPU Cluster kurulumunu dört aşamada gerçekleştirir:
- İhtiyaç analizi ve tasarım: GPU model seçimi, küme topolojisi, ağ mimarisi ve kiracı yapısının belirlenmesi.
- Donanım kurulumu ve ön hazırlık: Sunucuların fiziksel kurulumu, BIOS optimizasyonu, işletim sistemi kurulumu ve ağ yapılandırması.
- Kubernetes ve bileşen kurulumu: Küme kurulumu (kubeadm veya RKE2), GPU Operator, Volcano, izleme yığını ve depolama entegrasyonu (Rook-Ceph veya BeeGFS CSI).
- Doğrulama ve eğitim: Test iş yükleri ile performans doğrulaması, ekip eğitimi ve dokümantasyon teslimi.
Hangi İş Yüklerine Uygundur?
Kubernetes GPU Cluster aşağıdaki senaryolarda en yüksek değeri sunar:
- Büyük dil modeli (LLM) ön eğitimi ve ince ayarı
- Görüntü ve ses işleme pipeline’ları
- Moleküler dinamik ve kuantum kimyası simülasyonları
- Çok kullanıcılı Jupyter Hub ortamları (GPU paylaşımıyla)
- MLOps pipeline’ları (Kubeflow, MLflow entegrasyonlu)
GPU altyapınızı Kubernetes ile modernize etmek ve ekiplerinizin hesaplama kaynaklarına adil, verimli biçimde erişmesini sağlamak istiyorsanız Mevasis uzmanlarıyla görüşün. İletişim sayfamızdan ihtiyaçlarınızı paylaşın; size özel bir çözüm tasarlayalım.
Sıkça Sorulan Sorular
Bu çözüm ne zaman tercih edilmeli?
Kubernetes GPU Cluster, birden fazla ekibin aynı GPU altyapısını paylaştığı ortamlarda ve iş yüklerinin konteyner tabanlı olduğu durumlarda tercih edilmelidir. CI/CD pipeline entegrasyonu beklenen ve kaynak kullanımının merkezi olarak izlenmesi istenen senaryolar için idealdir.
Mevasis bu çözümü nasıl sağlıyor?
Mevasis, Kubernetes GPU Cluster kurulumunda donanım seçiminden yazılım konfigürasyonuna kadar uçtan uca hizmet sunar. NVIDIA GPU Operator entegrasyonu, Volcano scheduler kurulumu, ağ yapılandırması (InfiniBand veya RoCE), çok kiracılı namespace izolasyonu ve izleme altyapısı (Prometheus, Grafana) dahil olmak üzere tüm bileşenleri sahada konuşlandırır. Kurulum sonrasında yönetim, izleme ve güncelleme desteği de sağlanmaktadır.
Fiyatlandırma nasıl?
Kubernetes GPU Cluster fiyatlandırması; küme büyüklüğü, GPU model ve sayısı, ağ altyapısı tercihleri ve yönetilen hizmet kapsamına göre değişmektedir. Kurumunuza özel bir teklif almak için teklif formunu doldurabilirsiniz. Mevasis ekibi ihtiyaç analizini tamamladıktan sonra detaylı bir fiyat teklifi sunar.