استخدم وحدات معالجة الرسومات لأحمال العمل كثيفة الحوسبة على خدمة Azure Kubernetes (AKS)
غالبا ما تستخدم وحدات المعالجة الرسومية (GPUs) لأحمال العمل كثيفة الحوسبة، مثل أحمال عمل الرسومات والتصور. يدعم AKS تجمعات عقد Linux التي تدعم وحدة معالجة الرسومات لتشغيل أحمال عمل Kubernetes كثيفة الحوسبة.
تساعدك هذه المقالة على توفير العقد مع وحدات معالجة الرسومات القابلة للمخططات على مجموعات AKS الجديدة والحالية.
الأجهزة الظاهرية المدعومة التي تدعم وحدة معالجة الرسومات
لعرض الأجهزة الظاهرية المدعومة التي تدعم وحدة معالجة الرسومات، راجع أحجام الأجهزة الظاهرية المحسنة لوحدة معالجة الرسومات في Azure. بالنسبة لتجمعات عقد AKS، نوصي بالحد الأدنى لحجم Standard_NC6s_v3. سلسلة NVv4 (استنادا إلى وحدات معالجة الرسومات AMD) غير مدعومة على AKS.
إشعار
تحتوي الأجهزة الظاهرية التي تدعم وحدة معالجة الرسومات على أجهزة متخصصة تخضع لتسعير أعلى وتوافر المنطقة. للحصول على مزيدٍ من المعلومات، راجع أداة التسعير والتوفر في المنطقة.
القيود
- إذا كنت تستخدم تجمع عقدة يدعم Azure Linux GPU، فلا يتم تطبيق تصحيحات الأمان التلقائية. راجع إصدار AKS API الحالي للسلوك الافتراضي لقناة ترقية نظام التشغيل العقدة.
إشعار
بالنسبة إلى AKS API الإصدار 2023-06-01 أو أحدث، القناة الافتراضية لترقية نظام تشغيل العقدة هي NodeImage. بالنسبة للإصدارات السابقة، تكون القناة الافتراضية بلا. لمعرفة المزيد، راجع الترقية التلقائية.
- NVadsA10 v5-series ليست SKU موصى بها ل GPU VHD.
- تحديث تجمع عقدة موجود لإضافة وحدة معالجة الرسومات غير مدعوم.
قبل البدء
- تفترض هذه المقالة أن لديك مجموعة AKS موجودة. إذا لم يكن لديك مجموعة، فبادر بإنشاء مجموعة باستخدام Azure CLI أو Azure PowerShell أو مدخل Microsoft Azure.
- تحتاج إلى تثبيت الإصدار 2.0.64 من Azure CLI أو إصدار أحدث وتكوينه. قم بتشغيل
az --version
للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.
الحصول على بيانات اعتماد لمجموعتك
احصل على بيانات الاعتماد لنظام مجموعة AKS باستخدام az aks get-credentials
الأمر . يحصل الأمر المثال التالي على بيانات الاعتماد الخاصة ب myAKSCluster في مجموعة موارد myResourceGroup :
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
خيارات لاستخدام وحدات معالجة الرسومات NVIDIA
يتضمن استخدام NVIDIA GPUs تثبيت مكونات برامج NVIDIA المختلفة مثل المكون الإضافي لجهاز NVIDIA ل Kubernetes وتثبيت برنامج تشغيل GPU والمزيد.
إشعار
بشكل افتراضي، تحتفظ Microsoft تلقائيا بإصدار برامج تشغيل NVidia كجزء من نشر صورة العقدة، وتدعمها AKS وتديرها . بينما يتم تثبيت برامج تشغيل NVidia بشكل افتراضي على العقد القادرة على GPU، تحتاج إلى تثبيت المكون الإضافي للجهاز.
تثبيت المكون الإضافي لجهاز NVIDIA
مطلوب تثبيت المكون الإضافي لجهاز NVIDIA عند استخدام وحدات معالجة الرسومات على AKS. في بعض الحالات، تتم معالجة التثبيت تلقائيا، مثل عند استخدام عامل تشغيل NVIDIA GPU أو صورة AKS GPU (معاينة). بدلا من ذلك، يمكنك تثبيت المكون الإضافي لجهاز NVIDIA يدويا.
تثبيت المكون الإضافي لجهاز NVIDIA يدويًا
يمكنك نشر DaemonSet للمكون الإضافي لجهاز NVIDIA، والذي يقوم بتشغيل جراب على كل عقدة لتوفير برامج التشغيل المطلوبة لوحدات معالجة الرسومات. هذا هو النهج الموصى به عند استخدام تجمعات العقد الممكنة لوحدة معالجة الرسومات ل Azure Linux.
لاستخدام نظام التشغيل SKU الافتراضي، يمكنك إنشاء تجمع العقدة دون تحديد نظام تشغيل SKU. يتم تكوين تجمع العقدة لنظام التشغيل الافتراضي استنادا إلى إصدار Kubernetes من نظام المجموعة.
أضف تجمع عقدة إلى نظام المجموعة باستخدام
az aks nodepool add
الأمر .az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --node-vm-size Standard_NC6s_v3 \ --node-taints sku=gpu:NoSchedule \ --enable-cluster-autoscaler \ --min-count 1 \ --max-count 3
يضيف هذا الأمر تجمع عقدة يسمى gpunp إلى myAKSCluster في myResourceGroup ويستخدم المعلمات لتكوين إعدادات تجمع العقدة التالية:
--node-vm-size
: يعين حجم الجهاز الظاهري للعقدة في تجمع العقدة إلى Standard_NC6s_v3.--node-taints
: يحدد sku=gpu:NoSchedule taint على تجمع العقدة.--enable-cluster-autoscaler
: تمكين أداة التحجيم التلقائي لنظام المجموعة.--min-count
: تكوين مقياس المجموعة التلقائي للحفاظ على عقدة واحدة على الأقل في تجمع العقدة.--max-count
: تكوين مقياس المجموعة التلقائي للحفاظ على ثلاث عقد كحد أقصى في تجمع العقدة.
إشعار
يمكن تعيين العيوب وأحجام الأجهزة الظاهرية فقط لتجمعات العقد أثناء إنشاء تجمع العقدة، ولكن يمكنك تحديث إعدادات التحجيم التلقائي في أي وقت.
إنشاء مساحة اسم باستخدام
kubectl create namespace
الأمر .kubectl create namespace gpu-resources
أنشئ ملفا باسم nvidia-device-plugin-ds.yaml والصق بيان YAML التالي المقدم كجزء من المكون الإضافي لجهاز NVIDIA لمشروع Kubernetes:
apiVersion: apps/v1 kind: DaemonSet metadata: name: nvidia-device-plugin-daemonset namespace: kube-system spec: selector: matchLabels: name: nvidia-device-plugin-ds updateStrategy: type: RollingUpdate template: metadata: labels: name: nvidia-device-plugin-ds spec: tolerations: - key: "sku" operator: "Equal" value: "gpu" effect: "NoSchedule" # Mark this pod as a critical add-on; when enabled, the critical add-on # scheduler reserves resources for critical add-on pods so that they can # be rescheduled after a failure. # See https://kubernetes.io/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/ priorityClassName: "system-node-critical" containers: - image: nvcr.io/nvidia/k8s-device-plugin:v0.15.0 name: nvidia-device-plugin-ctr env: - name: FAIL_ON_INIT_ERROR value: "false" securityContext: allowPrivilegeEscalation: false capabilities: drop: ["ALL"] volumeMounts: - name: device-plugin mountPath: /var/lib/kubelet/device-plugins volumes: - name: device-plugin hostPath: path: /var/lib/kubelet/device-plugins
أنشئ DaemonSet وتأكد من إنشاء المكون الإضافي لجهاز NVIDIA بنجاح باستخدام
kubectl apply
الأمر .kubectl apply -f nvidia-device-plugin-ds.yaml
الآن بعد أن قمت بتثبيت المكون الإضافي لجهاز NVIDIA بنجاح، يمكنك التحقق من أن وحدات معالجة الرسومات قابلة للمخططات وتشغيل حمل عمل GPU.
تخطي تثبيت برنامج تشغيل GPU (معاينة)
إذا كنت تريد التحكم في تثبيت برامج تشغيل NVidia أو استخدام عامل تشغيل NVIDIA GPU، يمكنك تخطي تثبيت برنامج تشغيل GPU الافتراضي. لا تدعم Microsoft صيانة برامج تشغيل NVidia وتوافقها أو تديرها كجزء من نشر صورة العقدة.
هام
تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:
تسجيل أو تحديث ملحق aks-preview باستخدام
az extension add
الأمر أوaz extension update
.# Register the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension az extension update --name aks-preview
إنشاء تجمع عقدة
az aks nodepool add
باستخدام الأمر مع العلامة--skip-gpu-driver-install
لتخطي تثبيت برنامج تشغيل GPU التلقائي.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --skip-gpu-driver-install \ --node-vm-size Standard_NC6s_v3 \ --enable-cluster-autoscaler \ --min-count 1 \ --max-count 3
تؤدي إضافة العلامة
--skip-gpu-driver-install
أثناء إنشاء تجمع العقدة إلى تخطي التثبيت التلقائي لبرنامج تشغيل GPU. لا يتم تغيير أي عقد موجودة. يمكنك توسيع نطاق تجمع العقدة إلى الصفر ثم إجراء نسخ احتياطي لجعل التغيير نافذ المفعول.
استخدام عامل تشغيل NVIDIA GPU مع AKS
يقوم عامل تشغيل NVIDIA GPU بأتمتة إدارة جميع مكونات برنامج NVIDIA اللازمة لتوفير وحدة معالجة الرسومات بما في ذلك تثبيت برنامج التشغيل والمكون الإضافي لجهاز NVIDIA ل Kubernetes ووقت تشغيل حاوية NVIDIA والمزيد. نظرا لأن عامل تشغيل GPU يعالج هذه المكونات، فليس من الضروري تثبيت المكون الإضافي لجهاز NVIDIA يدويا. وهذا يعني أيضا أن تثبيت برنامج تشغيل GPU التلقائي على AKS لم يعد مطلوبا.
تخطي تثبيت برنامج تشغيل GPU التلقائي عن طريق إنشاء تجمع عقدة
az aks nodepool add
باستخدام الأمر مع--skip-gpu-driver-install
. تؤدي إضافة العلامة--skip-gpu-driver-install
أثناء إنشاء تجمع العقدة إلى تخطي التثبيت التلقائي لبرنامج تشغيل GPU. لا يتم تغيير أي عقد موجودة. يمكنك توسيع نطاق تجمع العقدة إلى الصفر ثم إجراء نسخ احتياطي لجعل التغيير نافذ المفعول.اتبع وثائق NVIDIA لتثبيت عامل تشغيل GPU.
الآن بعد أن قمت بتثبيت عامل تشغيل وحدة معالجة الرسومات بنجاح، يمكنك التحقق من أن وحدات معالجة الرسومات قابلة للمخططات وتشغيل حمل عمل GPU.
تحذير
لا نوصي بتثبيت البرنامج الخفي المكون الإضافي لجهاز NVIDIA يدويا مع المجموعات باستخدام صورة AKS GPU.
إشعار
قد تكون هناك اعتبارات إضافية يجب أخذها عند استخدام عامل تشغيل NVIDIA GPU والنشر على مثيلات SPOT. يرجى الرجوع إلى https://github.com/NVIDIA/gpu-operator/issues/577
استخدام صورة AKS GPU (معاينة)
إشعار
سيتم إيقاف صورة AKS GPU (معاينة) في 10 يناير 2025. لن يكون العنوان المخصص المستخدم أدناه متوفرا بعد الآن، ما يعني أنك لن تتمكن من إنشاء تجمعات عقد جديدة ممكنة لوحدة معالجة الرسومات باستخدام صورة AKS GPU. نوصي بالترحيل إلى أو استخدام تكوين GPU الافتراضي بدلا من صورة GPU المخصصة، حيث لم تعد صورة GPU المخصصة مدعومة. لمزيد من المعلومات، راجع ملاحظات إصدار AKS، أو عرض إعلان الإيقاف هذا في خارطة الطريق العامة ل AKS.
يوفر AKS صورة AKS مكونة بالكامل تحتوي على المكون الإضافي لجهاز NVIDIA ل Kubernetes. صورة AKS GPU متاحة حاليا فقط على Ubuntu 18.04.
هام
تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:
aks-preview
تثبيت ملحق Azure CLI باستخدامaz extension add
الأمر .az extension add --name aks-preview
قم بتحديث إلى أحدث إصدار من الملحق باستخدام
az extension update
الأمر .az extension update --name aks-preview
تسجيل علامة الميزة
GPUDedicatedVHDPreview
باستخدامaz feature register
الأمر .az feature register --namespace "Microsoft.ContainerService" --name "GPUDedicatedVHDPreview"
يستغرق الأمر بضع دقائق حتى تظهر الحالة مُسجل.
تحقق من حالة التسجيل باستخدام
az feature show
الأمر .az feature show --namespace "Microsoft.ContainerService" --name "GPUDedicatedVHDPreview"
عندما تعكس الحالة Registered، قم بتحديث تسجيل موفر موارد Microsoft.ContainerService باستخدام
az provider register
الأمر .az provider register --namespace Microsoft.ContainerService
الآن بعد أن قمت بتحديث نظام المجموعة الخاص بك لاستخدام صورة AKS GPU، يمكنك إضافة تجمع عقدة لعقد GPU إلى نظام المجموعة الخاص بك.
إضافة تجمع عقدة
az aks nodepool add
باستخدام الأمر .az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name gpunp \ --node-count 1 \ --node-vm-size Standard_NC6s_v3 \ --node-taints sku=gpu:NoSchedule \ --aks-custom-headers UseGPUDedicatedVHD=true \ --enable-cluster-autoscaler \ --min-count 1 \ --max-count 3
يضيف أمر المثال السابق تجمع عقدة يسمى gpunp إلى myAKSCluster في myResourceGroup ويستخدم المعلمات لتكوين إعدادات تجمع العقدة التالية:
--node-vm-size
: يعين حجم الجهاز الظاهري للعقدة في تجمع العقدة إلى Standard_NC6s_v3.--node-taints
: يحدد sku=gpu:NoSchedule taint على تجمع العقدة.--aks-custom-headers
: يحدد صورة AKS GPU متخصصة، UseGPUDedicatedVHD=true. إذا كانت وحدة SKU لوحدة معالجة الرسومات الخاصة بك تتطلب الجيل 2 من الأجهزة الظاهرية، فاستخدم --aks-custom-headers UseGPUDedicatedVHD=true,usegen2vm=true بدلا من ذلك.--enable-cluster-autoscaler
: تمكين أداة التحجيم التلقائي لنظام المجموعة.--min-count
: تكوين مقياس المجموعة التلقائي للحفاظ على عقدة واحدة على الأقل في تجمع العقدة.--max-count
: تكوين مقياس المجموعة التلقائي للحفاظ على ثلاث عقد كحد أقصى في تجمع العقدة.
إشعار
يمكن تعيين العيوب وأحجام الأجهزة الظاهرية فقط لتجمعات العقد أثناء إنشاء تجمع العقدة، ولكن يمكنك تحديث إعدادات التحجيم التلقائي في أي وقت.
الآن بعد أن قمت بإنشاء تجمع عقدة بنجاح باستخدام صورة GPU، يمكنك التحقق من أن وحدات معالجة الرسومات قابلة للمخططات وتشغيل حمل عمل GPU.
تأكد من أن وحدات معالجة الرسومات قابلة للجدولة
بعد إنشاء نظام المجموعة، تأكد من أن وحدات معالجة الرسومات قابلة للمخططات في Kubernetes.
سرد العقد في نظام المجموعة باستخدام
kubectl get nodes
الأمر .kubectl get nodes
يجب أن يبدو الإخراج مشابها لإخراج المثال التالي:
NAME STATUS ROLES AGE VERSION aks-gpunp-28993262-0 Ready agent 13m v1.20.7
تأكد من أن وحدات معالجة الرسومات قابلة للمخططات باستخدام
kubectl describe node
الأمر .kubectl describe node aks-gpunp-28993262-0
ضمن قسم السعة، ينبغي أن تُدرج وحدة معالجة الرسومات باسم
nvidia.com/gpu: 1
. يجب أن يبدو الإخراج مشابها لإخراج المثال المكثف التالي:Name: aks-gpunp-28993262-0 Roles: agent Labels: accelerator=nvidia [...] Capacity: [...] nvidia.com/gpu: 1 [...]
تشغيل حمل عمل يدعم وحدة معالجة الرسومات
لمشاهدة وحدة معالجة الرسومات قيد التنفيذ، يمكنك جدولة حمل عمل ممكن بواسطة وحدة معالجة الرسومات مع طلب المورد المناسب. في هذا المثال، سنقوم بتشغيل مهمة Tensorflow مقابل مجموعة بيانات MNIST.
أنشئ ملفا باسم samples-tf-mnist-demo.yaml والصق بيان YAML التالي، والذي يتضمن حد موارد :
nvidia.com/gpu: 1
إشعار
إذا تلقيت خطأ عدم تطابق الإصدار عند استدعاء برامج التشغيل، مثل "إصدار برنامج تشغيل CUDA غير كاف لإصدار وقت تشغيل CUDA"، فراجع مخطط توافق مصفوفة برنامج تشغيل NVIDIA.
apiVersion: batch/v1 kind: Job metadata: labels: app: samples-tf-mnist-demo name: samples-tf-mnist-demo spec: template: metadata: labels: app: samples-tf-mnist-demo spec: containers: - name: samples-tf-mnist-demo image: mcr.microsoft.com/azuredocs/samples-tf-mnist-demo:gpu args: ["--max_steps", "500"] imagePullPolicy: IfNotPresent resources: limits: nvidia.com/gpu: 1 restartPolicy: OnFailure tolerations: - key: "sku" operator: "Equal" value: "gpu" effect: "NoSchedule"
قم بتشغيل المهمة باستخدام
kubectl apply
الأمر الذي يوزع ملف البيان وينشئ كائنات Kubernetes المعرفة.kubectl apply -f samples-tf-mnist-demo.yaml
عرض حالة حمل العمل الممكن لوحدة معالجة الرسومات
مراقبة تقدم المهمة باستخدام
kubectl get jobs
الأمر مع العلامة--watch
. قد يستغرق سحب الصورة أولاً ومعالجة مجموعة البيانات بضع دقائق.kubectl get jobs samples-tf-mnist-demo --watch
عندما يظهر عمود COMPLETIONS 1/1، تكون المهمة قد انتهت بنجاح، كما هو موضح في إخراج المثال التالي:
NAME COMPLETIONS DURATION AGE samples-tf-mnist-demo 0/1 3m29s 3m29s samples-tf-mnist-demo 1/1 3m10s 3m36s
قم بإنهاء
kubectl --watch
العملية باستخدام Ctrl-C.احصل على اسم الجراب باستخدام
kubectl get pods
الأمر .kubectl get pods --selector app=samples-tf-mnist-demo
عرض إخراج حمل العمل الممكن لوحدة معالجة الرسومات باستخدام
kubectl logs
الأمر .kubectl logs samples-tf-mnist-demo-smnr6
يؤكد إخراج المثال المكثف التالي لسجلات الجراب أنه تم اكتشاف جهاز GPU المناسب،
Tesla K80
:2019-05-16 16:08:31.258328: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA 2019-05-16 16:08:31.396846: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Found device 0 with properties: name: Tesla K80 major: 3 minor: 7 memoryClockRate(GHz): 0.8235 pciBusID: 2fd7:00:00.0 totalMemory: 11.17GiB freeMemory: 11.10GiB 2019-05-16 16:08:31.396886: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: Tesla K80, pci bus id: 2fd7:00:00.0, compute capability: 3.7) 2019-05-16 16:08:36.076962: I tensorflow/stream_executor/dso_loader.cc:139] successfully opened CUDA library libcupti.so.8.0 locally Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes. Extracting /tmp/tensorflow/input_data/train-images-idx3-ubyte.gz Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes. Extracting /tmp/tensorflow/input_data/train-labels-idx1-ubyte.gz Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes. Extracting /tmp/tensorflow/input_data/t10k-images-idx3-ubyte.gz Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes. Extracting /tmp/tensorflow/input_data/t10k-labels-idx1-ubyte.gz Accuracy at step 0: 0.1081 Accuracy at step 10: 0.7457 Accuracy at step 20: 0.8233 Accuracy at step 30: 0.8644 Accuracy at step 40: 0.8848 Accuracy at step 50: 0.8889 Accuracy at step 60: 0.8898 Accuracy at step 70: 0.8979 Accuracy at step 80: 0.9087 Accuracy at step 90: 0.9099 Adding run metadata for 99 Accuracy at step 100: 0.9125 Accuracy at step 110: 0.9184 Accuracy at step 120: 0.922 Accuracy at step 130: 0.9161 Accuracy at step 140: 0.9219 Accuracy at step 150: 0.9151 Accuracy at step 160: 0.9199 Accuracy at step 170: 0.9305 Accuracy at step 180: 0.9251 Accuracy at step 190: 0.9258 Adding run metadata for 199 [...] Adding run metadata for 499
استخدم Container Insights لمراقبة استخدام وحدة معالجة الرسومات
تراقب Container Insights مع AKS مقاييس استخدام GPU التالية:
اسم قياسي | البعد المتري (العلامات) | الوصف |
---|---|---|
حاوية GPUDutyCycle | container.azm.ms/clusterId ، container.azm.ms/clusterName ، containerName ، gpuId ، ، gpuModel gpuVendor |
النسبة المئوية للوقت خلال فترة العينة السابقة (60 ثانية) التي كانت وحدة معالجة الرسومات GPU خلالها مشغولة / تعالج بنشاط لحاوية. دورة التشغيل عبارة عن رقم بين 1 و100. |
حاوية GPULimits | container.azm.ms/clusterId ، ، container.azm.ms/clusterName containerName |
يمكن لكل حاوية تحديد حدود كوحدة معالجة رسومات واحدة أو أكثر GPUs. لا يمكن طلب جزء صغير من وحدة معالجة الرسومات GPU أو تقييده. |
حاوية طلبات GPU | container.azm.ms/clusterId ، ، container.azm.ms/clusterName containerName |
يمكن لكل حاوية أن تطلب واحدة أو أكثر من وحدات معالجة الرسومات GPUs. لا يمكن طلب جزء صغير من وحدة معالجة الرسومات GPU أو تقييده. |
حاوية GpumemoryTotalBytes | container.azm.ms/clusterId ، container.azm.ms/clusterName ، containerName ، gpuId ، ، gpuModel gpuVendor |
مقدار ذاكرة وحدة معالجة الرسومات GPU بالبايت المتاحة للاستخدام في حاوية معينة. |
حاوية GpumemoryUsedBytes | container.azm.ms/clusterId ، container.azm.ms/clusterName ، containerName ، gpuId ، ، gpuModel gpuVendor |
مقدار ذاكرة وحدة معالجة الرسومات GPU بالبايت المستخدمة بواسطة حاوية معينة. |
nodeGpuAllocatable | container.azm.ms/clusterId ، ، container.azm.ms/clusterName gpuVendor |
عدد وحدات معالجة الرسومات GPUs في العقدة التي يمكن لـ Kubernetes استخدامها. |
nodeGpuCapacity | container.azm.ms/clusterId ، ، container.azm.ms/clusterName gpuVendor |
العدد الإجمالي لوحدات معالجة الرسومات في العقدة. |
تنظيف الموارد
قم بإزالة كائنات Kubernetes المقترنة التي قمت بإنشائها في هذه المقالة باستخدام
kubectl delete job
الأمر .kubectl delete jobs samples-tf-mnist-demo
الخطوات التالية
- لتشغيل مهام Apache Spark، راجع تشغيل مهام Apache Spark على AKS.
- لمزيد من المعلومات حول ميزات مجدول Kubernetes، راجع أفضل الممارسات لميزات المجدول المتقدمة في AKS.
- لمزيد من المعلومات حول Azure Kubernetes Service وAzure التعلم الآلي، راجع:
Azure Kubernetes Service