إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا المقال، تقوم بنشر البنية التحتية المطلوبة لتشغيل أحمال عمل Ray AI مع Kueue على خدمة Azure Kubernetes (AKS). توفر وحدة Terraform عنقودا AKS مع تجمعات عقد GPU، وتثبيت مشغل KubeRay ووحدة تحكم Kueue عبر Helm، وإنشاء مساحة تخزين Azure Blob مع مجموعات بيانات مسبقة المرحلة، وتكوين هوية عبء العمل للوصول الآمن.
هام
يتم ذكر البرامج مفتوحة المصدر في جميع وثائق وعينات AKS. يتم استبعاد البرامج التي تنشرها من اتفاقيات مستوى خدمة AKS والضمان المحدود ودعم Azure. أثناء استخدامك للتكنولوجيا مفتوحة المصدر جنبا إلى جنب مع AKS، راجع خيارات الدعم المتوفرة من المجتمعات المحلية المعنية ومشرفي المشاريع لوضع خطة.
تتحمل Microsoft مسؤولية بناء الحزم مفتوحة المصدر التي ننشرها على AKS. تتضمن هذه المسؤولية امتلاك ملكية كاملة لعملية البناء والمسح الضوئي والتوقيع والتحقق من الصحة وإصلاحها، بالإضافة إلى التحكم في الثنائيات في صور الحاوية. لمزيد من المعلومات، راجع إدارة الثغرات الأمنية لتغطية دعم AKSوAKS.
المتطلبات الأساسية
- اشتراك في Azure. إذا لم يكن لديك حساب، أنشئ حسابا مجانيا.
-
Azure CLI الإصدار 2.70 أو أحدث، تم التحقق منه ب
az login. إذا كان لديك عدة اشتراكات، قم بتعيين الاشتراك الصحيح بaz account set --subscription <subscription-id>. - نسخة Terraform 1.6 أو أحدث.
- إصدار Kubectl 1.28 أو أحدث. قم بالتثبيت باستخدام
az aks install-cli. - إصدار Python 3.10 أو أحدث (مطلوب لتوليد بيانات Aurora).
- حصة GPU في منطقة Azure المستهدفة لديك. التكوين الافتراضي يوفر عقدة
Standard_ND96amsr_A100_v4(8×A100 بسعة 80 جيجابايت).
نسخ المستودع
قم باستنساخ مستودع Azure/AKS وانتقل إلى وحدة البنية التحتية:
git clone https://github.com/Azure/AKS
cd AKS/examples/kueue-and-ray-on-aks/1-infrastructure
تثبيت تبعيات Python
تتطلب خطوة رفع البيانات في Aurora حزم Python. قم بتثبيتها قبل النشر:
pip install -r terraform/requirements-generator.txt
تحقق من حصة بطاقة الرسوميات
تحقق من أن اشتراكك يحتوي على حصة لوحدة معالجة الرسومات في منطقتك المستهدفة. استبدلها eastus2 بالمنطقة التي تفضلها:
LOCATION=<your-azure-region>
az vm list-usage --location "$LOCATION" --output table | grep -i "NDAMSv4_A100"
Note
إذا لم يكن لديك حصة GPU أو ترغب في التحقق من البنية التحتية بدون وحدات معالجة الرسوميات، قم بالنشر باستخدام gpu_enabled=false:
terraform apply -var="subscription_id=<your-subscription-id>" -var="gpu_enabled=false"
المسار الخاص بالمعالج فقط مفيد للتحقق من صحة البنية التحتية وتكوين الطابور. أما الأحمال التي تطلب بطاقات الرسوميات فتبقى قيد الانتظار.
النشر باستخدام Terraform
قم بتهيئة وتطبيق وحدة Terraform:
cd terraform
terraform init
terraform apply -var="subscription_id=<your-subscription-id>"
تنشئ وحدة تيرافورم ما يلي:
- عنقود AKS مع مفعل جهود OIDC وهوية عبء العمل
- تجمع عقد النظام ومجموعة عقد وحدة معالجة الرسوميات (عندما
gpu_enabled=true) - مشغل KubeRay ووحدة تحكم Kueue (إصدار Helm من MCR)
- مراقبة وحدة معالجة الرسومات DaemonSet (عندما
gpu_enabled=true) - مساحة تخزين Azure Blob account with
auroraandllm-pipelinecontainers - هوية مدارة معينة من قبل المستخدم مع دور مساهم بيانات كتلة التخزين
- بيانات الهوية الموحدة لحساب
ray-workloadالخدمة - مجموعات البيانات المسبقة (بيانات Aurora WeatherBench2 ومجموعة بيانات viggo NLG)
للحصول على تكوين وحدة Terraform الكامل، راجع دليل البنية التحتية 1 في المستودع.
الاتصال بنظام المجموعة
استرجع بيانات الاعتماد الخاصة بكتر AKS الجديد:
eval "$(terraform output -raw get_credentials_command)"
تحقق من النشر
تأكد من أن المشغلين يعملون وأن العقد متاحة:
تحقق من مشغل KubeRay:
kubectl -n kuberay-system get podsالإخراج المتوقع:
NAME READY STATUS RESTARTS AGE kuberay-operator-xxxxxxxxxx-xxxxx 1/1 Running 0 5mتحقق من وحدة تحكم Kueue:
kubectl -n kueue-system get podsالإخراج المتوقع:
NAME READY STATUS RESTARTS AGE kueue-controller-manager-xxxxxxxxxx-xxxxx 1/1 Running 0 5mتحقق من العقد:
kubectl get nodesالإنتاج المتوقع (مع
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.xتحقق من مراقبة بطاقة الرسوميات (فقط عندما
gpu_enabled=true):kubectl -n gpu-monitoring get daemonsetsالإخراج المتوقع:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE gpu-monitoring-a100 1 1 1 1 1 <none> 5m
تنظيف الموارد
لحذف جميع موارد Azure التي أنشأتها باستخدام هذه الوحدة:
terraform destroy -var="subscription_id=<your-subscription-id>"