تثبيت & استخدام ملحق CLI ل Azure التعلم الآلي

APPLY TO: Azure CLI ml extensionع1 v2 (معاينة)

هام

تتطلب أوامر Azure CLI في هذه المقالة الامتداد azure-cli-ml، أو v1 ، ل Azure التعلم الآلي. يتوفر الآن الإصدار 2 CLI المحسن (المعاينة) باستخدام الإضافة ml ويوصى به. الملحقات غير متوافقة، لذلك لن تعمل أوامر v2 CLI للخطوات الواردة في هذه المقالة. ومع ذلك ، يمكن التفاعل مع مساحات عمل التعلم الآلي وجميع الموارد الأساسية من أي منهما ، مما يعني أنه يمكن لمستخدم واحد إنشاء مساحة عمل باستخدام الإصدار 1 CLI ويمكن لمستخدم آخر إرسال الوظائف إلى نفس مساحة العمل باستخدام الإصدار 2 CLI.

للعثور على الإضافات التي قمت بتثبيتها، استخدم az extension list. إذا كانت قائمة الملحقات تحتوي على azure-cli-ml، لديك الامتداد الصحيح للخطوات الواردة في هذه المقالة.

لمزيد من المعلومات حول تثبيت الملحقات المختلفة واستخدامها، راجع المقالات التالية:

يعد Azure التعلم الآلي CLI امتدادا ل Azure CLI، وهي واجهة سطر أوامر عبر الأنظمة الأساسية للنظام الأساسي Azure. يوفر هذا الملحق أوامر للعمل مع Azure التعلم الآلي. يسمح لك بأتمتة أنشطة التعلم الآلي الخاصة بك. توفر القائمة التالية بعض الأمثلة على الإجراءات التي يمكنك القيام بها باستخدام ملحق CLI:

  • إجراء تجارب لإنشاء نماذج التعلم الآلي

  • تسجيل نماذج التعلم الآلي لاستخدام العملاء

  • حزم ونشر وتتبع دورة حياة نماذج التعلم الآلي الخاصة بك

CLI ليس بديلا عن Azure التعلم الآلي SDK. إنها أداة تكميلية تم تحسينها للتعامل مع المهام ذات المعلمات العالية التي تناسب نفسها بشكل جيد مع الأتمتة.

المتطلبات الأساسية

المستندات المرجعية الكاملة

ابحث عن المستندات المرجعية الكاملة لامتداد azure-cli-ml ل Azure CLI.

الاتصال CLI إلى اشتراكك في Azure

هام

إذا كنت تستخدم Azure Cloud Shell، فيمكنك تخطي هذا القسم. تقوم السحابة shell تلقائيا بمصادقتك باستخدام الحساب الذي تقوم بتسجيل الدخول إلى اشتراكك في Azure.

هناك عدة طرق يمكنك من خلالها المصادقة على اشتراك Azure من CLI. الأكثر أساسية هو المصادقة التفاعلية باستخدام متصفح. للمصادقة بشكل تفاعلي، افتح سطر أوامر أو محطة طرفية واستخدم الأمر التالي:

az login

إذا تمكن CLI من فتح المستعرض الافتراضي، فسيقوم بذلك وتحميل صفحة تسجيل الدخول. خلاف ذلك ، تحتاج إلى فتح متصفح واتباع الإرشادات الموجودة في سطر الأوامر. تتضمن التعليمات التصفح إلى https://aka.ms/devicelogin رمز التفويض وإدخاله.

تلميح

بعد تسجيل الدخول، سترى قائمة الاشتراكات المقترنة بحساب Azure. معلومات الاشتراك هي isDefault: true الاشتراك المنشط حاليا لأوامر Azure CLI. يجب أن يكون هذا الاشتراك هو نفسه الذي يحتوي على مساحة عمل Azure التعلم الآلي. يمكنك العثور على معرف الاشتراك من مدخل Azure من خلال زيارة صفحة النظرة العامة لمساحة العمل الخاصة بك. يمكنك أيضا استخدام SDK للحصول على معرف الاشتراك من كائن مساحة العمل. على سبيل المثال، ⁧Workspace.from_config().subscription_id⁩.

لتحديد اشتراك آخر، استخدم az account set -s <subscription name or ID> الأمر وحدد اسم الاشتراك أو المعرف المراد التبديل إليه. لمزيد من المعلومات حول تحديد الاشتراك، راجع استخدام اشتراكات Azure متعددة.

للحصول على طرق أخرى للمصادقة، راجع تسجيل الدخول باستخدام Azure CLI.

تثبيت الملحق

لتثبيت ملحق CLI (الإصدار 1):

az extension add -n azure-cli-ml

تحديث الإضافة

لتحديث ملحق CLI التعلم الآلي، استخدم الأمر التالي:

az extension update -n azure-cli-ml

إزالة الإضافة

لإزالة ملحق CLI، استخدم الأمر التالي:

az extension remove -n azure-cli-ml

إدارة الموارد

توضح الأوامر التالية كيفية استخدام CLI لإدارة الموارد المستخدمة بواسطة Azure التعلم الآلي.

  • إذا لم يكن لديك واحد بالفعل، فقم بإنشاء مجموعة موارد:

    az group create -n myresourcegroup -l westus2
    
  • إنشاء مساحة عمل Azure التعلم الآلي:

    az ml workspace create -w myworkspace -g myresourcegroup
    

    لمزيد من المعلومات، راجع az ml workspace create.

  • إرفاق تكوين مساحة عمل بمجلد لتمكين الوعي السياقي ل CLI.

    az ml folder attach -w myworkspace -g myresourcegroup
    

    يقوم هذا الأمر بإنشاء .azureml دليل فرعي يحتوي على مثال runconfig وملفات بيئة conda. كما أنه يحتوي على ملف config.json يستخدم للاتصال بمساحة عمل Azure التعلم الآلي.

    لمزيد من المعلومات، راجع az ml المجلد المرفق.

  • إرفاق حاوية Azure blob كمخزن بيانات.

    az ml datastore attach-blob  -n datastorename -a accountname -c containername
    

    لمزيد من المعلومات، راجع az ml datastore attach-blob.

  • Upload الملفات إلى مخزن بيانات.

    az ml datastore upload  -n datastorename -p sourcepath
    

    لمزيد من المعلومات، راجع تحميل مخزن بيانات az ml.

  • إرفاق مجموعة AKS كهدف حساب.

    az ml computetarget attach aks -n myaks -i myaksresourceid -g myresourcegroup -w myworkspace
    

    لمزيد من المعلومات، راجع az ml computetarget attach aks

مجموعات الحوسبة

  • إنشاء مجموعة حوسبة مدارة جديدة.

    az ml computetarget create amlcompute -n cpu --min-nodes 1 --max-nodes 1 -s STANDARD_D3_V2
    
  • إنشاء مجموعة حوسبة مدارة جديدة ذات هوية مدارة

    • الهوية المُدارة التي يعيّنها المُستخدم

      az ml computetarget create amlcompute --name cpu-cluster --vm-size Standard_NC6 --max-nodes 5 --assign-identity '/subscriptions/<subcription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>'
      
    • الهوية المُدارة التي يُعيّنها النظام

      az ml computetarget create amlcompute --name cpu-cluster --vm-size Standard_NC6 --max-nodes 5 --assign-identity '[system]'
      
  • إضافة هوية مدارة إلى مجموعة موجودة:

    • الهوية المُدارة التي يعيّنها المُستخدم

      az ml computetarget amlcompute identity assign --name cpu-cluster '/subscriptions/<subcription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>'
      
    • الهوية المُدارة التي يُعيّنها النظام

      az ml computetarget amlcompute identity assign --name cpu-cluster '[system]'
      

لمزيد من المعلومات، راجع az ml computetarget create amlcompute.

ملاحظة

تدعم مجموعات الحوسبة Azure التعلم الآلي هوية واحدة فقط تم تعيينها بواسطة النظام أو هويات متعددة معينة من قبل المستخدم، وليس كليهما في وقت واحد.

مثيل الحساب

إدارة مثيلات الحوسبة. في جميع الأمثلة أدناه، اسم مثيل الحوسبة هو وحدة المعالجة المركزية

تجارب التشغيل

  • ابدأ تشغيل تجربتك. عند استخدام هذا الأمر، حدد اسم ملف runconfig (النص قبل *.runconfig إذا كنت تبحث في نظام الملفات الخاص بك) مقابل المعلمة -c.

    az ml run submit-script -c sklearn -e testexperiment train.py
    

    تلميح

    يقوم az ml folder attach الأمر بإنشاء .azureml دليل فرعي يحتوي على مثالين من ملفات runconfig.

    إذا كان لديك برنامج نصي Python يقوم بإنشاء كائن تكوين تشغيل برمجيا، يمكنك استخدام RunConfig.save() لحفظه كملف runconfig.

    يمكن العثور على مخطط runconfig الكامل في ملف JSON هذا. المخطط هو التوثيق الذاتي من خلال description مفتاح كل كائن. بالإضافة إلى ذلك، هناك تعداد للقيم المحتملة، ومقتطف قالب في النهاية.

    لمزيد من المعلومات، راجع az ml run submit-script.

  • عرض قائمة بالتجارب:

    az ml experiment list
    

    لمزيد من المعلومات، راجع قائمة تجارب az ml.

تشغيل هايبر درايف

يمكنك استخدام HyperDrive مع Azure CLI لإجراء عمليات ضبط المعلمات. أولا، قم بإنشاء ملف تكوين HyperDrive بالتنسيق التالي. راجع ضبط المعلمات التشعبية لمقالة النموذج للحصول على تفاصيل حول معلمات ضبط المعلمات التشعبية.

# hdconfig.yml
sampling: 
    type: random # Supported options: Random, Grid, Bayesian
    parameter_space: # specify a name|expression|values tuple for each parameter.
    - name: --penalty # The name of a script parameter to generate values for.
      expression: choice # supported options: choice, randint, uniform, quniform, loguniform, qloguniform, normal, qnormal, lognormal, qlognormal
      values: [0.5, 1, 1.5] # The list of values, the number of values is dependent on the expression specified.
policy: 
    type: BanditPolicy # Supported options: BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy, NoTerminationPolicy
    evaluation_interval: 1 # Policy properties are policy specific. See the above link for policy specific parameter details.
    slack_factor: 0.2
primary_metric_name: Accuracy # The metric used when evaluating the policy
primary_metric_goal: Maximize # Maximize|Minimize
max_total_runs: 8 # The maximum number of runs to generate
max_concurrent_runs: 2 # The number of runs that can run concurrently.
max_duration_minutes: 100 # The maximum length of time to run the experiment before cancelling.

أضف هذا الملف إلى جانب ملفات تكوين التشغيل. ثم أرسل تشغيل HyperDrive باستخدام:

az ml run submit-hyperdrive -e <experiment> -c <runconfig> --hyperdrive-configuration-name <hdconfig> my_train.py

لاحظ قسم الوسيطات في runconfig ومساحة المعلمة في تكوين HyperDrive. وهي تحتوي على وسيطات سطر الأوامر التي سيتم تمريرها إلى البرنامج النصي للتدريب. تبقى القيمة في runconfig كما هي لكل تكرار، بينما يتم تكرار النطاق في تكوين HyperDrive. لا تحدد نفس الوسيطة في كلا الملفين.

إدارة مجموعة البيانات

توضح الأوامر التالية كيفية العمل مع مجموعات البيانات في Azure التعلم الآلي:

  • تسجيل مجموعة بيانات:

    az ml dataset register -f mydataset.json
    

    للحصول على معلومات حول تنسيق ملف JSON المستخدم لتعريف مجموعة البيانات، استخدم az ml dataset register --show-template.

    لمزيد من المعلومات، راجع az ml dataset register.

  • سرد كافة مجموعات البيانات في مساحة عمل:

    az ml dataset list
    

    لمزيد من المعلومات، راجع قائمة az ml dataset.

  • الحصول على تفاصيل مجموعة بيانات:

    az ml dataset show -n dataset-name
    

    لمزيد من المعلومات، راجع عرض مجموعة بيانات az ml.

  • إلغاء تسجيل مجموعة بيانات:

    az ml dataset unregister -n dataset-name
    

    لمزيد من المعلومات، راجع az ml dataset unregister.

الإدارة البيئية

توضح الأوامر التالية كيفية إنشاء بيئات Azure التعلم الآلي وتسجيلها وإدراجها لمساحة العمل الخاصة بك:

  • إنشاء ملفات سقالات لبيئة:

    az ml environment scaffold -n myenv -d myenvdirectory
    

    لمزيد من المعلومات، راجع سقالة بيئة az ml.

  • تسجيل بيئة:

    az ml environment register -d myenvdirectory
    

    لمزيد من المعلومات، راجع az ml environment register.

  • قائمة البيئات المسجلة:

    az ml environment list
    

    لمزيد من المعلومات، راجع قائمة بيئة az ml.

  • تنزيل بيئة مسجلة:

    az ml environment download -n myenv -d downloaddirectory
    

    لمزيد من المعلومات، راجع تنزيل بيئة az ml.

مخطط تكوين البيئة

إذا استخدمت az ml environment scaffold الأمر، فإنه ينشئ ملف قالب azureml_environment.json يمكن تعديله واستخدامه لإنشاء تكوينات بيئة مخصصة باستخدام CLI. يقوم كائن المستوى الأعلى بتعيين الفئة Environment بشكل فضفاض في Python SDK.

{
    "name": "testenv",
    "version": null,
    "environmentVariables": {
        "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE"
    },
    "python": {
        "userManagedDependencies": false,
        "interpreterPath": "python",
        "condaDependenciesFile": null,
        "baseCondaEnvironment": null
    },
    "docker": {
        "enabled": false,
        "baseImage": "mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04:20210615.v1",
        "baseDockerfile": null,
        "sharedVolumes": true,
        "shmSize": "2g",
        "arguments": [],
        "baseImageRegistry": {
            "address": null,
            "username": null,
            "password": null
        }
    },
    "spark": {
        "repositories": [],
        "packages": [],
        "precachePackages": true
    },
    "databricks": {
        "mavenLibraries": [],
        "pypiLibraries": [],
        "rcranLibraries": [],
        "jarLibraries": [],
        "eggLibraries": []
    },
    "inferencingStackVersion": null
}

يوضح الجدول التالي تفاصيل كل حقل من حقول المستوى الأعلى في ملف JSON ونوعه ووصفه. إذا كان نوع كائن مرتبطا بفئة من Python SDK، فهناك تطابق 1:1 فضفاض بين كل حقل JSON واسم المتغير العام في فئة Python. في بعض الحالات، قد يتم تعيين الحقل إلى وسيطة منشئ بدلا من متغير فئة. على سبيل المثال، يقوم الحقل بتعيين environment_variables المتغير في الفصل.environmentVariablesEnvironment

حقل JSON النوع الوصف
name string اسم البيئة. لا تبدأ الاسم باستخدام Microsoft أو AzureML.
version string إصدار البيئة.
environmentVariables {string: string} خريطة تجزئة لأسماء متغيرات البيئة وقيمها.
python PythonSectionتحدد القبعة بيئة بايثون والمترجم الفوري لاستخدامها في مورد الحوسبة المستهدف.
docker DockerSection يحدد الإعدادات لتخصيص صورة Docker المصممة وفقا لمواصفات البيئة.
spark SparkSection يقوم القسم بتكوين إعدادات Spark. يتم استخدامه فقط عندما يتم تعيين إطار العمل على PySpark.
databricks DatabricksSection تكوين تبعيات مكتبة Databricks.
inferencingStackVersion string يحدد إصدار مكدس الاستدلال المضاف إلى الصورة. لتجنب إضافة مكدس استدلال، اترك هذا الحقل null. القيمة الصالحة: "الأحدث".

إدارة خط أنابيب ML

توضح الأوامر التالية كيفية العمل مع خطوط أنابيب التعلم الآلي:

تسجيل النموذج، التنميط، النشر

توضح الأوامر التالية كيفية تسجيل نموذج مدرب، ثم نشره كخدمة إنتاج:

  • تسجيل نموذج باستخدام Azure التعلم الآلي:

    az ml model register -n mymodel -p sklearn_regression_model.pkl
    

    لمزيد من المعلومات، راجع az ml model register.

  • اختياري قم بتعريف النموذج الخاص بك للحصول على قيم مثالية لوحدة المعالجة المركزية والذاكرة للنشر.

    az ml model profile -n myprofile -m mymodel:1 --ic inferenceconfig.json -d "{\"data\": [[1,2,3,4,5,6,7,8,9,10],[10,9,8,7,6,5,4,3,2,1]]}" -t myprofileresult.json
    

    لمزيد من المعلومات، راجع ملف تعريف طراز az ml.

  • نشر النموذج الخاص بك إلى AKS

    az ml model deploy -n myservice -m mymodel:1 --ic inferenceconfig.json --dc deploymentconfig.json --ct akscomputetarget
    

    لمزيد من المعلومات حول مخطط ملف تكوين الاستدلال، راجع مخطط تكوين الاستدلال.

    لمزيد من المعلومات حول مخطط ملف تكوين النشر، راجع مخطط تكوين النشر.

    لمزيد من المعلومات، راجع نشر نموذج az ml.

مخطط تكوين الاستدلال

يتم تعيين الإدخالات inferenceconfig.json في المستند إلى معلمات فئة InferenceConfig . يصف الجدول التالي التعيين بين الكيانات في مستند JSON ومعلمات الطريقة:

كيان JSON معلمة الطريقة الوصف
entryScript entry_script المسار إلى ملف محلي يحتوي على التعليمة البرمجية للتشغيل للصورة.
sourceDirectory source_directory ‏‏اختياري. قم بالمسار إلى المجلدات التي تحتوي على كافة الملفات لإنشاء الصورة، مما يسهل الوصول إلى أي ملفات داخل هذا المجلد أو المجلد الفرعي. يمكنك تحميل مجلد كامل من جهازك المحلي كتبعيات لخدمة الويب. ملاحظة: المسارات entry_script conda_file extra_docker_file_steps هي مسارات نسبية للمسار source_directory.
environment environment ‏‏اختياري. Azure التعلم الآلي environment.

يمكنك تضمين المواصفات الكاملة لبيئة Azure التعلم الآلي في ملف تكوين الاستدلال. إذا لم تكن هذه البيئة موجودة في مساحة العمل الخاصة بك، فسيقوم Azure التعلم الآلي بإنشائها. وإلا، فسيقوم Azure التعلم الآلي بتحديث البيئة إذا لزم الأمر. JSON التالي هو مثال:

{
    "entryScript": "score.py",
    "environment": {
        "docker": {
            "arguments": [],
            "baseDockerfile": null,
            "baseImage": "mcr.microsoft.com/azureml/intelmpi2018.3-ubuntu18.04",
            "enabled": false,
            "sharedVolumes": true,
            "shmSize": null
        },
        "environmentVariables": {
            "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE"
        },
        "name": "my-deploy-env",
        "python": {
            "baseCondaEnvironment": null,
            "condaDependencies": {
                "channels": [
                    "conda-forge"
                ],
                "dependencies": [
                    "python=3.6.2",
                    {
                        "pip": [
                            "azureml-defaults",
                            "azureml-telemetry",
                            "scikit-learn==0.22.1",
                            "inference-schema[numpy-support]"
                        ]
                    }
                ],
                "name": "project_environment"
            },
            "condaDependenciesFile": null,
            "interpreterPath": "python",
            "userManagedDependencies": false
        },
        "version": "1"
    }
}

يمكنك أيضا استخدام بيئة Azure التعلم الآلي موجودة في معلمات CLI منفصلة وإزالة مفتاح "البيئة" من ملف تكوين الاستدلال. استخدم -e لاسم البيئة، و--ev لإصدار البيئة. إذا لم تحدد --ev ، استخدام أحدث إصدار. فيما يلي مثال على ملف تكوين الاستدلال:

{
    "entryScript": "score.py",
    "sourceDirectory": null
}

يوضح الأمر التالي كيفية نشر نموذج باستخدام ملف تكوين الاستدلال السابق (المسمى myInferenceConfig.json).

كما يستخدم أحدث إصدار من بيئة Azure التعلم الآلي موجودة (تسمى AzureML-Minimal).

az ml model deploy -m mymodel:1 --ic myInferenceConfig.json -e AzureML-Minimal --dc deploymentconfig.json

مخطط تكوين النشر

مخطط تكوين النشر المحلي

ترسم الإدخالات deploymentconfig.json في المستند خريطة للمعلمات الخاصة LocalWebservice.deploy_configuration. يصف الجدول التالي التعيين بين الكيانات في مستند JSON ومعلمات الطريقة:

كيان JSON معلمة الطريقة الوصف
computeType ‏‏غير متوفر هدف الحساب. بالنسبة للأهداف المحلية ، يجب أن تكون localالقيمة .
port port المنفذ المحلي الذي سيتم عرض نقطة نهاية HTTP الخاصة بالخدمة عليه.

JSON هذا هو مثال على تكوين النشر للاستخدام مع CLI:

{
    "computeType": "local",
    "port": 32267
}

احفظ JSON هذا كملف يسمى deploymentconfig.json.

Azure Container Instance deployment configuration schema

ترسم الإدخالات في deploymentconfig.json المستند خريطة للمعلمات الخاصة AciWebservice.deploy_configuration. يصف الجدول التالي التعيين بين الكيانات في مستند JSON ومعلمات الطريقة:

كيان JSON معلمة الطريقة الوصف
computeType ‏‏غير متوفر هدف الحساب. بالنسبة ل ACI ، يجب أن تكون ACIالقيمة .
containerResourceRequirements ‏‏غير متوفر حاوية لوحدة المعالجة المركزية وكيانات الذاكرة.
  cpu cpu_cores عدد نوى وحدة المعالجة المركزية لتخصيصها. افتراضيات 0.1
  memoryInGB memory_gb مقدار الذاكرة (بالجيجابايت) المراد تخصيصها لخدمة الويب هذه. افتراضي 0.5
location location منطقة Azure لنشر خدمة الويب هذه إلى. إذا لم يتم تحديد موقع مساحة العمل، استخدامه. يمكن العثور على مزيد من التفاصيل حول المناطق المتاحة هنا: مناطق ACI
authEnabled auth_enabled ما إذا كنت تريد تمكين المصادقة لخدمة الويب هذه. الإعدادات الافتراضية إلى False
sslEnabled ssl_enabled ما إذا كنت تريد تمكين طبقة المقابس الآمنة لخدمة الويب هذه. الإعدادات الافتراضية إلى False.
appInsightsEnabled enable_app_insights ما إذا كنت تريد تمكين AppInsights لخدمة الويب هذه. الإعدادات الافتراضية إلى False
sslCertificate ssl_cert_pem_file ملف الشهادة المطلوب إذا تم تمكين SSL
sslKey ssl_key_pem_file الملف الرئيسي المطلوب إذا تم تمكين SSL
cname ssl_cname اسم ما إذا تم تمكين SSL
dnsNameLabel dns_name_label تسمية اسم DNS لنقطة نهاية التسجيل. إذا لم يتم تحديد تسمية اسم DNS فريدة سيتم إنشاؤها لنقطة نهاية التسجيل.

JSON التالي هو مثال على تكوين النشر للاستخدام مع CLI:

{
    "computeType": "aci",
    "containerResourceRequirements":
    {
        "cpu": 0.5,
        "memoryInGB": 1.0
    },
    "authEnabled": true,
    "sslEnabled": false,
    "appInsightsEnabled": false
}

Azure Kubernetes Service deployment configuration schema

يتم تعيين الإدخالات deploymentconfig.json في المستند إلى معلمات AksWebservice.deploy_configuration. يصف الجدول التالي التعيين بين الكيانات في مستند JSON ومعلمات الطريقة:

كيان JSON معلمة الطريقة الوصف
computeType ‏‏غير متوفر هدف الحساب. بالنسبة ل AKS ، يجب أن تكون aksالقيمة .
autoScaler ‏‏غير متوفر يحتوي على عناصر تكوين للقياس التلقائي. راجع جدول المقياس التلقائي.
  autoscaleEnabled autoscale_enabled ما إذا كان يجب تمكين التحجيم التلقائي لخدمة ويب. إذا numReplicas = 0، ؛ خلاف ذلك ، TrueFalse.
  minReplicas autoscale_min_replicas الحد الأدنى لعدد الحاويات التي يجب استخدامها عند القياس التلقائي لخدمة الويب هذه. افتراضي، 1.
  maxReplicas autoscale_max_replicas الحد الأقصى لعدد الحاويات التي يجب استخدامها عند القياس التلقائي لخدمة الويب هذه. افتراضي، 10.
  refreshPeriodInSeconds autoscale_refresh_seconds كم مرة يحاول autoscaler توسيع نطاق خدمة الويب هذه. افتراضي، 1.
  targetUtilization autoscale_target_utilization الاستخدام المستهدف (بالنسبة المئوية من 100) الذي يجب أن يحاول جهاز القياس التلقائي صيانته لخدمة الويب هذه. افتراضي، 70.
dataCollection ‏‏غير متوفر يحتوي على عناصر تكوين لجمع البيانات.
  storageEnabled collect_model_data ما إذا كنت تريد تمكين جمع بيانات النموذج لخدمة الويب. افتراضي، False.
authEnabled auth_enabled سواء تم تمكين المصادقة الرئيسية لخدمة الويب أم لا. authEnabled على حد سواء tokenAuthEnabled ولا يمكن أن يكون True. افتراضي، True.
tokenAuthEnabled token_auth_enabled سواء تم تمكين مصادقة الرمز المميز لخدمة الويب أم لا. authEnabled على حد سواء tokenAuthEnabled ولا يمكن أن يكون True. افتراضي، False.
containerResourceRequirements ‏‏غير متوفر حاوية لوحدة المعالجة المركزية وكيانات الذاكرة.
  cpu cpu_cores عدد نوى وحدة المعالجة المركزية المطلوب تخصيصها لخدمة الويب هذه. افتراضيات 0.1
  memoryInGB memory_gb مقدار الذاكرة (بالجيجابايت) المراد تخصيصها لخدمة الويب هذه. افتراضي 0.5
appInsightsEnabled enable_app_insights ما إذا كنت تريد تمكين التطبيق Insights تسجيل الدخول لخدمة الويب. افتراضي، False.
scoringTimeoutMs scoring_timeout_ms مهلة لفرض تسجيل المكالمات إلى خدمة الويب. افتراضي، 60000.
maxConcurrentRequestsPerContainer replica_max_concurrent_requests الحد الأقصى للطلبات المتزامنة لكل عقدة لخدمة الويب هذه. افتراضي، 1.
maxQueueWaitMs max_request_wait_time سيبقى الحد الأقصى للوقت الذي سيبقى فيه الطلب في قائمة الانتظار (بالمللي ثانية) قبل إرجاع خطأ 503. افتراضي، 500.
numReplicas num_replicas عدد الحاويات التي سيتم تخصيصها لخدمة الويب هذه. لا يحتوي على قيمة افتراضية. إذا لم يتم تعيين هذه المعلمة، تمكين المقياس التلقائي بشكل افتراضي.
keys ‏‏غير متوفر يحتوي على عناصر تكوين للمفاتيح.
  primaryKey primary_key مفتاح مصادقة أساسي لاستخدامه لخدمة الويب هذه
  secondaryKey secondary_key مفتاح مصادقة ثانوي لاستخدامه لخدمة الويب هذه
gpuCores gpu_cores عدد نوى وحدة معالجة الرسومات (نسخة متماثلة لكل حاوية) لتخصيصها لخدمة الويب هذه. الافتراضي هو 1. يدعم قيم الأعداد الصحيحة فقط.
livenessProbeRequirements ‏‏غير متوفر يحتوي على عناصر تكوين لمتطلبات مسبار الحياة.
  periodSeconds period_seconds كم مرة (في ثوان) لإجراء مسبار الحياة. افتراضي إلى 10 ثوان. الحد الأدنى للقيمة هو 1.
  initialDelaySeconds initial_delay_seconds عدد الثواني بعد بدء تشغيل الحاوية قبل بدء تحقيقات الحياة. الإعدادات الافتراضية إلى 310
  timeoutSeconds timeout_seconds عدد الثواني التي تنتهي بعدها مهلة مسبار الحياة. افتراضيا إلى 2 ثانية. الحد الأدنى للقيمة هو 1
  successThreshold success_threshold الحد الأدنى من النجاحات المتتالية لمسبار الحياة ليتم اعتباره ناجحا بعد فشله. تعود الإعدادات الافتراضية على 1. الحد الأدنى للقيمة هو 1.
  failureThreshold failure_threshold عندما يبدأ Pod ويفشل مسبار الحياة ، سيحاول Kubernetes الفشل مرات العتبة قبل الاستسلام. الإعدادات الافتراضية إلى 3. الحد الأدنى للقيمة هو 1.
namespace namespace مساحة اسم Kubernetes التي يتم نشر خدمة الويب فيها. ما يصل إلى 63 حرفا أبجديا رقميا صغيرا ('a'-'z' و'0'-'9') وواصلة ('-'). لا يمكن أن يكون الحرفان الأول والأخير واصلات.

JSON التالي هو مثال على تكوين النشر للاستخدام مع CLI:

{
    "computeType": "aks",
    "autoScaler":
    {
        "autoscaleEnabled": true,
        "minReplicas": 1,
        "maxReplicas": 3,
        "refreshPeriodInSeconds": 1,
        "targetUtilization": 70
    },
    "dataCollection":
    {
        "storageEnabled": true
    },
    "authEnabled": true,
    "containerResourceRequirements":
    {
        "cpu": 0.5,
        "memoryInGB": 1.0
    }
}

الخطوات التالية