Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln distribuerar du den infrastruktur som krävs för att köra Ray AI-arbetsbelastningar med Kueue på Azure Kubernetes Service (AKS). Terraform-modulen etablerar ett AKS-kluster med GPU-nodpooler, installerar KubeRay-operatorn och Kueue-styrenheten via Helm, skapar Azure Blob Storage med förlagrade datauppsättningar och konfigurerar arbetsbelastningsidentitet för säker åtkomst.
Important
Programvara med öppen källkod nämns i hela AKS-dokumentationen och exemplen. Programvaran som du distribuerar är undantagen från AKS-servicenivåavtal, begränsad garanti och Azure-support. När du använder open-source-teknik tillsammans med AKS, konsultera de supportalternativ som finns tillgängliga från respektive gemenskaper och projektunderhållare för att utveckla en plan.
Microsoft tar ansvar för att skapa de paket med öppen källkod som vi distribuerar på AKS. Det ansvaret omfattar att ha fullständigt ägarskap för bygg-, genomsöknings-, signerings-, validerings- och snabbkorrigeringsprocessen, tillsammans med kontroll över binärfilerna i containeravbildningar. Mer information finns i Sårbarhetshantering för AKS - och AKS-stödtäckning.
Prerequisites
- Ett Azure-abonnemang. Om du inte har något skapar du ett kostnadsfritt konto.
-
Azure CLI version 2.70 eller senare, autentiserad med
az login. Om du har flera prenumerationer väljer du den rätta medaz account set --subscription <subscription-id>. - Terraform version 1.6 eller senare.
-
kubectl version 1.28 eller senare. Installera med
az aks install-cli. - Python version 3.10 eller senare (krävs för Aurora-datagenerering).
- GPU-kvot i målregionen Azure. Standardkonfigurationen etablerar en
Standard_ND96amsr_A100_v4nod (8×A100 80 GB GPU:er).
Klona lagringsplatsen
Klona Azure/AKS-lagringsplatsen och gå till infrastrukturmodulen:
git clone https://github.com/Azure/AKS
cd AKS/examples/kueue-and-ray-on-aks/1-infrastructure
Installera Python-beroenden
Aurora-dataöverföringssteget kräver Python paket. Installera dem innan du distribuerar:
pip install -r terraform/requirements-generator.txt
Kontrollera GPU-kvoten
Kontrollera att din prenumeration har en kvot för GPU SKU i målregionen. Ersätt eastus2 med önskad region:
LOCATION=<your-azure-region>
az vm list-usage --location "$LOCATION" --output table | grep -i "NDAMSv4_A100"
Anmärkning
Om du inte har GPU-kvot eller vill verifiera infrastrukturen utan GPU:er distribuerar du med gpu_enabled=false:
terraform apply -var="subscription_id=<your-subscription-id>" -var="gpu_enabled=false"
CPU-banan är användbar för att validera infrastrukturen och kökonfigurationen. Arbetslaster som begär GPU-resurser förblir i statusen Pending.
Driftsätt med Terraform
Initiera och tillämpa Terraform-modulen:
cd terraform
terraform init
terraform apply -var="subscription_id=<your-subscription-id>"
Terraform-modulen skapar:
- Ett AKS-kluster med OIDC-utfärdare och arbetsbelastningsidentitet aktiverat
- En systemnodpool och en GPU-nodpool (när
gpu_enabled=true) - KubeRay-operatorn och Kueue-styrenheten (Helm-versioner från MCR)
- DaemonSet för GPU-övervakning (när
gpu_enabled=true) - Azure Blob Storage konto med
auroraochllm-pipelinecontainrar - Användartilldelad hanterad identitet med rollen Storage Blob Data Contributor
- Federerade identitetsautentiseringsuppgifter för
ray-workloadServiceAccount - Förlagrade datamängder (Aurora WeatherBench2-data och viggo NLG-datauppsättning)
Fullständig Terraform-modulkonfiguration finns i katalogen 1-infrastruktur på lagringsplatsen.
Anslut till klustret
Hämta autentiseringsuppgifterna för ditt nya AKS-kluster:
eval "$(terraform output -raw get_credentials_command)"
Verifiera driftsättningen
Kontrollera att operatorerna körs och att noderna är tillgängliga:
Verifiera KubeRay-operatorn:
kubectl -n kuberay-system get podsFörväntat resultat:
NAME READY STATUS RESTARTS AGE kuberay-operator-xxxxxxxxxx-xxxxx 1/1 Running 0 5mVerifiera Kueue-kontrollanten:
kubectl -n kueue-system get podsFörväntat resultat:
NAME READY STATUS RESTARTS AGE kueue-controller-manager-xxxxxxxxxx-xxxxx 1/1 Running 0 5mKontrollera noderna:
kubectl get nodesFörväntade utdata (med
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.xVerifiera GPU-övervakning (endast när
gpu_enabled=true):kubectl -n gpu-monitoring get daemonsetsFörväntat resultat:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE gpu-monitoring-a100 1 1 1 1 1 <none> 5m
Rensa resurser
Ta bort alla Azure resurser som du skapade med hjälp av den här modulen:
terraform destroy -var="subscription_id=<your-subscription-id>"