Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel stellen Sie die Infrastruktur bereit, die zum Ausführen von Ray AI-Workloads mit Kueue auf Azure Kubernetes Service (AKS) erforderlich ist. Das Terraform-Modul stellt einen AKS-Cluster mit GPU-Knotenpools bereit, installiert den KubeRay-Operator und den Kueue-Controller über Helm, erstellt Azure Blob Storage mit vordefinierten Datasets und konfiguriert die Workload-Identität für den sicheren Zugriff.
Wichtig
Open-Source-Software wird überall in AKS-Dokumenten und -Beispielen erwähnt. Software, die Sie bereitstellen, ist von AKS-Vereinbarungen zum Servicelevel, der eingeschränkten Garantie und dem Azure-Support ausgeschlossen. Wenn Sie Open-Source-Technologie zusammen mit AKS nutzen, nutzen Sie die Supportoptionen, die von den jeweiligen Communitys und Projektbetreuenden angeboten werden, um einen Plan zu entwickeln.
Microsoft übernimmt die Verantwortung für die Erstellung der Open-Source-Pakete, die wir auf AKS bereitstellen. Diese Verantwortung beinhaltet die vollständige Übernahme des Build-, Scan-, Signier-, Validierungs- und Hotfix-Prozesses sowie die Kontrolle über die Binärdateien in Container-Images. Weitere Informationen finden Sie unter Sicherheitsrisikomanagement für AKS und AKS-Supportabdeckung.
Voraussetzungen
- Ein Azure-Abonnement. Wenn Sie kein Konto haben, erstellen Sie ein kostenloses Konto.
-
Azure CLI Version 2.70 oder höher, authentifiziert mit
az login. Wenn Sie über mehrere Abonnements verfügen, wählen Sie mitaz account set --subscription <subscription-id>das richtige aus. - Terraform Version 1.6 oder höher.
-
kubectl , Version 1.28 oder höher. Installieren mit
az aks install-cli. - Python Version 3.10 oder höher (erforderlich für die Datengenerierung von Aurora).
- GPU-Kontingent in Ihrem Ziel Azure Region. Die Standardkonfiguration stellt einen
Standard_ND96amsr_A100_v4Knoten bereit (8×A100 80 GB GPUs).
Klonen des Repositorys
Klonen Sie das Azure/AKS-Repository, und navigieren Sie zum Infrastrukturmodul:
git clone https://github.com/Azure/AKS
cd AKS/examples/kueue-and-ray-on-aks/1-infrastructure
Installieren von Python-Abhängigkeiten
Der Uploadschritt von Aurora-Daten erfordert Python Pakete. Installieren Sie sie vor der Bereitstellung:
pip install -r terraform/requirements-generator.txt
GPU-Kontingent überprüfen
Stellen Sie sicher, dass Ihr Abonnement über ein Kontingent für die GPU-SKU in Ihrer Zielregion verfügt. Ersetzen Sie eastus2 durch Ihre bevorzugte Region:
LOCATION=<your-azure-region>
az vm list-usage --location "$LOCATION" --output table | grep -i "NDAMSv4_A100"
Hinweis
Wenn Sie kein GPU-Kontingent haben oder die Infrastruktur ohne GPUs überprüfen möchten, stellen Sie folgendes gpu_enabled=falsebereit:
terraform apply -var="subscription_id=<your-subscription-id>" -var="gpu_enabled=false"
Der reine CPU-Pfad ist nützlich, um die Infrastruktur- und Warteschlangenkonfiguration zu validieren. Workloads, die GPUs anfordern, bleiben im Status „Pending“.
Mit Terraform bereitstellen
Initialisieren und Anwenden des Terraform-Moduls:
cd terraform
terraform init
terraform apply -var="subscription_id=<your-subscription-id>"
Das Terraform-Modul erstellt:
- Ein AKS-Cluster mit aktivierter OIDC-Aussteller- und Workloadidentität
- Ein System-Knotenpool und ein GPU-Knotenpool (wenn
gpu_enabled=true) - KubeRay-Operator und der Kueue-Controller (Helm-Releases aus MCR)
- GPU-Überwachung DaemonSet (wenn
gpu_enabled=true) - Azure Blob Storage Konto mit
auroraundllm-pipelineContainern - Benutzerseitig zugewiesene verwaltete Identität mit der Rolle „Storage Blob Data Contributor“
- Anmeldeinformationen der Verbundidentität für den
ray-workload-ServiceAccount - Vorab bereitgestellte Datensätze (Aurora WeatherBench2-Daten und viggo NLG-Datensatz)
Die vollständige Konfiguration des Terraform-Moduls finden Sie im Verzeichnis 1-infrastructure im Repository.
Herstellen einer Verbindung mit dem Cluster
Rufen Sie die Anmeldeinformationen für Ihren neuen AKS-Cluster ab:
eval "$(terraform output -raw get_credentials_command)"
Überprüfen Sie die Bereitstellung
Vergewissern Sie sich, dass die Operatoren laufen und Knoten verfügbar sind:
Überprüfen Sie den KubeRay-Operator:
kubectl -n kuberay-system get podsErwartete Ausgabe:
NAME READY STATUS RESTARTS AGE kuberay-operator-xxxxxxxxxx-xxxxx 1/1 Running 0 5mÜberprüfen Sie den Kueue-Controller:
kubectl -n kueue-system get podsErwartete Ausgabe:
NAME READY STATUS RESTARTS AGE kueue-controller-manager-xxxxxxxxxx-xxxxx 1/1 Running 0 5mÜberprüfen Sie die Knoten:
kubectl get nodesErwartete Ausgabe (mit
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.xGPU-Überwachung überprüfen (nur wenn
gpu_enabled=true):kubectl -n gpu-monitoring get daemonsetsErwartete Ausgabe:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE gpu-monitoring-a100 1 1 1 1 1 <none> 5m
Bereinigen von Ressourcen
So löschen Sie alle Azure Ressourcen, die Sie mithilfe dieses Moduls erstellt haben:
terraform destroy -var="subscription_id=<your-subscription-id>"