Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku nasadíte infrastrukturu potřebnou ke spouštění úloh Ray AI s Kueue na Azure Kubernetes Service (AKS). Modul Terraform zřídí cluster AKS s fondy uzlů GPU, nainstaluje operátor KubeRay a kontroler Kueue přes Helm, vytvoří Azure Blob Storage s předem připravenými datovými sadami a nakonfiguruje identitu úloh pro zabezpečený přístup.
Important
Opensourcový software je zmíněn v dokumentaci a ukázkách AKS. Software, které nasadíte, je vyloučeno z dohod o úrovni služeb AKS, omezené záruky a podpory Azure. Při používání open-source technologií spolu s AKS konzultujte dostupné možnosti podpory od příslušných komunit a správců projektů, abyste vytvořili plán.
Microsoft přebírá odpovědnost za vytváření balíčků s otevřeným zdrojovým kódem, které nasazujeme na AKS. Tato odpovědnost zahrnuje plnou správu procesu sestavení, skenování, podepisování, validace a hotfixů, spolu s kontrolou nad binárními soubory v kontejnerových obrazech. Další informace najdete v tématu Řízení zranitelností pro AKS a Podpora pro AKS a rozsah pokrytí.
Prerequisites
- Předplatné služby Azure. Pokud žádné nemáte, vytvořte si bezplatný účet.
-
Azure CLI verze 2.70 nebo novější, ověřená pomocí
az login. Pokud máte více předplatných, nastavte správné předplatné pomocíaz account set --subscription <subscription-id>. - Terraform verze 1.6 nebo novější
-
kubectl verze 1.28 nebo novější. Nainstalujte pomocí
az aks install-cli. - Python verze 3.10 nebo novější (vyžaduje se pro generování dat Aurora).
- Kvóta GPU ve vaší cílové oblasti Azure Výchozí konfigurace zajišťuje uzel
Standard_ND96amsr_A100_v4(8× GPU A100 s pamětí 80 GB).
Klonování úložiště
Naklonujte úložiště Azure/AKS a přejděte do modulu infrastruktury:
git clone https://github.com/Azure/AKS
cd AKS/examples/kueue-and-ray-on-aks/1-infrastructure
Instalovat Pythonové závislosti
Krok nahrání dat Aurora vyžaduje balíčky Python. Před nasazením je nainstalujte:
pip install -r terraform/requirements-generator.txt
Kontrola kvóty GPU
Ověřte, že vaše předplatné má kvótu pro skladovou položku GPU ve vaší cílové oblasti. Nahraďte eastus2 upřednostňovanou oblastí:
LOCATION=<your-azure-region>
az vm list-usage --location "$LOCATION" --output table | grep -i "NDAMSv4_A100"
Note
Pokud nemáte kvótu GPU nebo chcete ověřit infrastrukturu bez GPU, nasaďte ji pomocí gpu_enabled=false:
terraform apply -var="subscription_id=<your-subscription-id>" -var="gpu_enabled=false"
Režim využívající pouze CPU je užitečný pro ověření infrastruktury a konfigurace front. Úlohy, které požadují GPU, zůstávají ve stavu Pending.
Nasazení pomocí Terraformu
Inicializace a použití modulu Terraform:
cd terraform
terraform init
terraform apply -var="subscription_id=<your-subscription-id>"
Modul Terraform vytvoří:
- Cluster AKS s aktivovaným vydavatelem OIDC a identitou workloadu
- Fond systémových uzlů a fond uzlů GPU (pokud
gpu_enabled=true) - Operátor KubeRay a řadič Kueue (verze Helm z MCR)
- DaemonSet pro monitorování GPU (pokud
gpu_enabled=true) - účet služby Azure Blob Storage s kontejnery
auroraallm-pipeline - Uživatelem přiřazená spravovaná identita s rolí Přispěvatel dat objektů blob služby Storage
- Přihlašovací údaje federované identity pro
ray-workloadServiceAccount - Předem připravené datové sady (data Aurora WeatherBench2 a datová sada viggo NLG)
Úplnou konfiguraci modulu Terraform najdete v adresáři 1 infrastruktury v úložišti.
Připojení ke clusteru
Získejte přihlašovací údaje pro váš nový cluster AKS:
eval "$(terraform output -raw get_credentials_command)"
Ověření nasazení
Ověřte, že operátory běží a uzly jsou k dispozici:
Ověřte operátor KubeRay:
kubectl -n kuberay-system get podsOčekávaný výstup:
NAME READY STATUS RESTARTS AGE kuberay-operator-xxxxxxxxxx-xxxxx 1/1 Running 0 5mOvěřte kontroler Kueue:
kubectl -n kueue-system get podsOčekávaný výstup:
NAME READY STATUS RESTARTS AGE kueue-controller-manager-xxxxxxxxxx-xxxxx 1/1 Running 0 5mOvěřte uzly:
kubectl get nodesOčekávaný výstup (s
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.xOvěření monitorování GPU (pouze v případech
gpu_enabled=true):kubectl -n gpu-monitoring get daemonsetsOčekávaný výstup:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE gpu-monitoring-a100 1 1 1 1 1 <none> 5m
Vyčistěte zdroje
Odstranění všech Azure prostředků, které jste vytvořili pomocí tohoto modulu:
terraform destroy -var="subscription_id=<your-subscription-id>"