Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel implementeert u de infrastructuur die is vereist voor het uitvoeren van Ray AI-workloads met Kueue op Azure Kubernetes Service (AKS). De Terraform-module richt een AKS-cluster in met GPU-knooppuntgroepen, installeert de KubeRay-operator en de Kueue-controller via Helm, maakt Azure Blob Storage met vooraf voorbereide gegevenssets en configureert de workloadidentiteit voor beveiligde toegang.
Belangrijk
Opensource-software wordt vermeld in AKS-documentatie en -voorbeelden. Software die u implementeert, is uitgesloten van AKS-serviceovereenkomsten, beperkte garantie en Azure-ondersteuning. Wanneer u opensource-technologie naast AKS gebruikt, raadpleegt u de beschikbare ondersteuningsopties van de respectieve community's en projectonderhouders om een plan te ontwikkelen.
Microsoft neemt de verantwoordelijkheid voor het bouwen van de opensource-pakketten die we implementeren op AKS. Deze verantwoordelijkheid omvat het volledige eigendom van het bouw-, scan-, onderteken-, validatie- en hotfixproces, samen met controle over de binaire bestanden in container images. Zie Beveiligingsbeheer voor AKS - en AKS-ondersteuningsdekking voor meer informatie.
Vereisten
- Een Azure-abonnement. Als u nog geen account hebt, kunt u een gratis account maken.
-
Azure CLI versie 2.70 of hoger, geverifieerd met
az login. Als u meerdere abonnementen hebt, stelt u de juiste in metaz account set --subscription <subscription-id>. - Terraform versie 1.6 of hoger.
-
kubectl versie 1.28 of hoger. Installeren met
az aks install-cli. - Python versie 3.10 of hoger (vereist voor het genereren van gegevens van Aurora).
- GPU-quotum in uw doelregio Azure. De standaardconfiguratie richt een
Standard_ND96amsr_A100_v4knooppunt in (8×A100 GPU's van 80 GB).
De opslagplaats klonen
Kloon de Azure/AKS-opslagplaats en navigeer naar de infrastructuurmodule:
git clone https://github.com/Azure/AKS
cd AKS/examples/kueue-and-ray-on-aks/1-infrastructure
Python-afhankelijkheden installeren
Voor de uploadstap naar Aurora-gegevens zijn Python pakketten vereist. Installeer ze voordat u implementeert:
pip install -r terraform/requirements-generator.txt
GPU-quotum controleren
Controleer of uw abonnement een quotum heeft voor de GPU-SKU in uw doelregio. Vervang door eastus2 uw voorkeursregio:
LOCATION=<your-azure-region>
az vm list-usage --location "$LOCATION" --output table | grep -i "NDAMSv4_A100"
Notitie
Als u geen GPU-quotum hebt of de infrastructuur zonder GPU's wilt valideren, implementeert u met gpu_enabled=false:
terraform apply -var="subscription_id=<your-subscription-id>" -var="gpu_enabled=false"
Het pad met alleen de CPU is nuttig voor het valideren van de infrastructuur en wachtrijconfiguratie. Workloads die GPU’s aanvragen, blijven in de status Pending.
Implementeren met Terraform
Initialiseer en pas de Terraform-module toe:
cd terraform
terraform init
terraform apply -var="subscription_id=<your-subscription-id>"
De Terraform-module maakt:
- Een AKS-cluster met ingeschakelde OIDC-issuer en workload identity
- Een systeemknooppuntgroep en een GPU-knooppuntgroep (wanneer
gpu_enabled=true) - KubeRay-operator en Kueue-controller (Helm-releases van MCR)
- GPU-bewakingsdaemonSet (wanneer
gpu_enabled=true) - Azure Blob Storage-opslagaccount met
auroraenllm-pipelinecontainers - Door de gebruiker toegewezen beheerde identiteit met de rol Inzender voor opslagblobgegevens
- Gefedereerde aanmeldingsgegevens voor de
ray-workloadServiceAccount - Vooraf voorbereide gegevenssets (Aurora WeatherBench2-gegevens en viggo NLG-gegevensset)
Zie de map 1-infrastructure directory in de repository voor de volledige configuratie van de Terraform-module.
Verbinding maken met het cluster
Haal de referenties voor uw nieuwe AKS-cluster op:
eval "$(terraform output -raw get_credentials_command)"
De implementatie controleren
Controleer of de operators actief zijn en of er knooppunten beschikbaar zijn:
Controleer de KubeRay-operator:
kubectl -n kuberay-system get podsVerwachte uitvoer:
NAME READY STATUS RESTARTS AGE kuberay-operator-xxxxxxxxxx-xxxxx 1/1 Running 0 5mControleer de Kueue-controller:
kubectl -n kueue-system get podsVerwachte uitvoer:
NAME READY STATUS RESTARTS AGE kueue-controller-manager-xxxxxxxxxx-xxxxx 1/1 Running 0 5mControleer de knooppunten:
kubectl get nodesVerwachte uitvoer (met
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-bewaking controleren (alleen wanneer
gpu_enabled=true):kubectl -n gpu-monitoring get daemonsetsVerwachte uitvoer:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE gpu-monitoring-a100 1 1 1 1 1 <none> 5m
De hulpbronnen opschonen
Als u alle Azure resources wilt verwijderen die u hebt gemaakt met behulp van deze module:
terraform destroy -var="subscription_id=<your-subscription-id>"