Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam artikel ini, Anda menyebarkan infrastruktur yang diperlukan untuk menjalankan beban kerja Ray AI dengan Kueue pada Azure Kubernetes Service (AKS). Modul Terraform menyediakan kluster AKS dengan kumpulan simpul GPU, menginstal operator KubeRay dan pengontrol Kueue melalui Helm, membuat Azure Blob Storage dengan himpunan data pra-tahap, dan mengonfigurasi identitas beban kerja untuk akses yang aman.
Penting
Perangkat lunak sumber terbuka disebutkan di seluruh dokumentasi dan sampel AKS. Perangkat lunak yang Anda sebarkan dikecualikan dari perjanjian tingkat layanan AKS, garansi terbatas, dan dukungan Azure. Saat Anda menggunakan teknologi sumber terbuka bersama AKS, konsultasikan opsi dukungan yang tersedia dari masing-masing komunitas dan pengelola proyek untuk mengembangkan rencana.
Microsoft bertanggung jawab untuk membangun paket sumber terbuka yang kami sebarkan di AKS. Tanggung jawab itu termasuk memiliki kepemilikan lengkap atas proses build, pemindaian, penandatanganan, validasi, dan perbaikan cepat, bersama dengan kontrol atas file biner dalam gambar kontainer. Untuk informasi selengkapnya, lihat Manajemen kerentanan untuk AKS dan Cakupan dukungan AKS.
Prasyarat
- Sebuah langganan Azure. Jika Anda tidak memilikinya, buat akun gratis.
-
Azure CLI versi 2.70 atau yang lebih baru, diautentikasi dengan
az login. Jika Anda memiliki beberapa langganan, atur langganan yang benar denganaz account set --subscription <subscription-id>. - Terraform versi 1.6 atau yang lebih baru.
-
kubectl versi 1.28 atau yang lebih baru. Instal dengan
az aks install-cli. - Python versi 3.10 atau yang lebih baru (diperlukan untuk pembuatan data Aurora).
- Kuota GPU di wilayah Azure target Anda. Konfigurasi default menyediakan satu
Standard_ND96amsr_A100_v4node (dengan 8× GPU A100 80 GB).
Mengkloning repositori tersebut
Kloning repositori Azure/AKS dan navigasikan ke modul infrastruktur:
git clone https://github.com/Azure/AKS
cd AKS/examples/kueue-and-ray-on-aks/1-infrastructure
Menginstal dependensi Python
Langkah pengunggahan data Aurora memerlukan paket Python. Instal sebelum menyebarkannya:
pip install -r terraform/requirements-generator.txt
Periksa kuota GPU
Verifikasi bahwa langganan Anda memiliki kuota untuk SKU GPU di wilayah target Anda. Ganti eastus2 dengan wilayah pilihan Anda:
LOCATION=<your-azure-region>
az vm list-usage --location "$LOCATION" --output table | grep -i "NDAMSv4_A100"
Catatan
Jika Anda tidak memiliki kuota GPU atau ingin memvalidasi infrastruktur tanpa GPU, sebarkan dengan gpu_enabled=false:
terraform apply -var="subscription_id=<your-subscription-id>" -var="gpu_enabled=false"
Alur yang hanya menggunakan CPU berguna untuk memverifikasi infrastruktur dan konfigurasi antrean. Beban kerja yang memerlukan GPU tetap berstatus Tertunda.
Menerapkan dengan Terraform
Inisialisasi dan terapkan modul Terraform:
cd terraform
terraform init
terraform apply -var="subscription_id=<your-subscription-id>"
Modul Terraform membuat:
- Kluster AKS dengan issuer OIDC dan identitas beban kerja yang diaktifkan
- Kumpulan simpul sistem dan kumpulan simpul GPU (saat
gpu_enabled=true) - Operator KubeRay dan pengontrol Kueue (Rilis Helm dari MCR)
- GPU memantau DaemonSet (saat
gpu_enabled=true) - akun Azure Blob Storage dengan kontainer
auroradanllm-pipeline - Identitas terkelola yang ditetapkan pengguna dengan peran Storage Blob Data Contributor
- Kredensial identitas federatif untuk
ray-workloadServiceAccount - Dataset yang telah disiapkan sebelumnya (data Aurora WeatherBench2 dan dataset NLG viggo)
Untuk konfigurasi modul Terraform lengkap, lihat direktori 1 infrastruktur di repositori.
Menyambungkan ke kluster
Ambil kredensial untuk kluster AKS baru Anda:
eval "$(terraform output -raw get_credentials_command)"
Verifikasi proses penyebaran
Pastikan bahwa operator berjalan dan node tersedia:
Verifikasi operator KubeRay:
kubectl -n kuberay-system get podsOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE kuberay-operator-xxxxxxxxxx-xxxxx 1/1 Running 0 5mVerifikasi pengontrol Kueue:
kubectl -n kueue-system get podsOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE kueue-controller-manager-xxxxxxxxxx-xxxxx 1/1 Running 0 5mVerifikasi node berikut:
kubectl get nodesOutput yang diharapkan (dengan
gpu_enabled=true):NAME STATUS ROLES AGE VERSION aks-gpupool-xxxxxxxx-vmssxxxxxx Ready <none> 5m v1.35.x aks-system-xxxxxxxx-vmssxxxxxx Ready <none> 10m v1.35.x aks-system-xxxxxxxx-vmssxxxxxx Ready <none> 10m v1.35.xVerifikasi pemantauan GPU (hanya jika
gpu_enabled=true):kubectl -n gpu-monitoring get daemonsetsOutput yang diharapkan:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE gpu-monitoring-a100 1 1 1 1 1 <none> 5m
Membersihkan sumber daya
Untuk menghapus semua sumber daya Azure yang Anda buat dengan menggunakan modul ini:
terraform destroy -var="subscription_id=<your-subscription-id>"