البرنامج التعليمي: إنشاء مجموعة مقياس الجهاز الظاهري وإدارتها باستخدام Azure CLI

تسمح لك مجموعة مقياس الجهاز الظاهري بنشر وإدارة مجموعة من الأجهزة الظاهرية. طوال دورة حياة مجموعة مقياس الجهاز الظاهري، قد تحتاج إلى تشغيل مهمة واحدة أو أكثر من مهام الإدارة. في هذا البرنامج التعليمي، ستتعرف على كيفية القيام بما يلي:

  • إنشاء مجموعة موارد
  • إنشاء مجموعة مقياس آلة افتراضية
  • توسيع النطاق والتحجيم
  • إيقاف مثيلات الجهاز الظاهري وبدء تشغيلها وإعادة تشغيلها

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

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

لقراءة هذه المقالة تحتاج الإصدار 2.0.29 أو الأحدث من CLI Azure. إذا كنت تستخدم Azure Cloud Shell، يتم تثبيت أحدث إصدار بالفعل.

إنشاء مجموعة موارد

مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها. يجب إنشاء مجموعة موارد قبل مجموعة مقياس الجهاز الظاهري. أنشئ مجموعة موارد باستخدام الأمر az group create. في هذا المثال، يتم إنشاء مجموعة موارد تسمى myResourceGroup في منطقة eastus.

az group create --name myResourceGroup --location eastus

يُحدد اسم مجموعة الموارد عند إنشاء أو تعديل تعيين التحجيم خلال هذا البرنامج التعليمي.

إنشاء مجموعة تحجيم

هام

بدءا من نوفمبر 2023، سيتم تعيين مجموعات مقياس الجهاز الظاهري التي تم إنشاؤها باستخدام PowerShell وAzure CLI افتراضيا إلى وضع التنسيق المرن إذا لم يتم تحديد وضع التزامن. لمزيد من المعلومات حول هذا التغيير والإجراءات التي يجب اتخاذها، انتقل إلى كسر التغيير لعملاء VMSS PowerShell/CLI - مركز مجتمع Microsoft

يمكنك إنشاء مجموعة مقياس الجهاز الظاهري باستخدام الأمر az vmss create . ينشئ المثال التالي مجموعة مقياس تسمى myScaleSet، وينشئ مفاتيح SSH إذا لم تكن موجودة:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --orchestration-mode flexible \
  --image <SKU image> \
  --admin-username azureuser \
  --generate-ssh-keys

يستغرق الأمر بضع دقائق لإنشاء وتكوين جميع الموارد مجموعة التحجيم ومثيلات الجهاز الظاهري. يُنشأ موازن تحميل أيضاً لتوزيع النقل على مثيلات أجهزة ظاهرية متعددة.

عرض معلومات حول مثيلات الجهاز الظاهري في مجموعة المقياس

لعرض قائمة بمثيلات الجهاز الظاهري في مجموعة مقياس، استخدم az vm list كما يلي:

az vm list --resource-group myResourceGroup --output table

يُظهر إخراج المثال التالي مثيلين للجهاز الظاهري في مجموعة التحجيم:

Name                 ResourceGroup    Location    Zones
-------------------  ---------------  ----------  -------
myScaleSet_instance1  myResourceGroup  eastus
myScaleSet_instance2  myResourceGroup  eastus

لمشاهدة معلومات إضافية حول مثيل جهاز ظاهري معين، استخدم az vm show وحدد اسم الجهاز الظاهري.

az vm show --resource-group myResourceGroup --name myScaleSet_instance1
{
  "hardwareProfile": {
    "vmSize": "Standard_DS1_v2",
  },
  "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1",
  "location": "eastus",
  "name": "myScaleSet_instance1",
  "networkProfile": {
    "networkInterfaces": [
      {
        "deleteOption": "Delete",
        "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-0396c71c",
        "primary": true,
        "resourceGroup": "myResourceGroup"
      }
    ]
  },
  "osProfile": {
    "adminUsername": "azureuser",
    "allowExtensionOperations": true,
    "computerName": "myScaleSN30BP1",
    "linuxConfiguration": {
      "disablePasswordAuthentication": true,
      "enableVmAgentPlatformUpdates": false,
      "patchSettings": {
        "assessmentMode": "ImageDefault",
        "patchMode": "ImageDefault"
      },
      "provisionVmAgent": true,
      "ssh": {
        "publicKeys": [
          {
            "keyData": "ssh-rsa",
            "path": "/home/azureuser/.ssh/authorized_keys"
          }
        ]
      }
    },
    "requireGuestProvisionSignal": true,
    "secrets": [],
  },
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "storageProfile": {
    "dataDisks": [],
    "imageReference": {
      "exactVersion": "XXXXX",
      "offer": "myOffer",
      "publisher": "myPublisher",
      "sku": "mySKU",
      "version": "latest"
    },
    "osDisk": {
      "caching": "ReadWrite",
      "createOption": "FromImage",
      "deleteOption": "Delete",
      "diskSizeGb": 30,
      "managedDisk": {
        "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myScaleSet_instance1_disk1",
        "resourceGroup": "myResourceGroup",
        "storageAccountType": "Premium_LRS"
      },
      "name": "myScaleSet_instance1_disk1",
      "osType": "Linux",
    }
  },
  "tags": {},
  "timeCreated": "2022-11-16T20:32:15.024581+00:00",
  "type": "Microsoft.Compute/virtualMachines",
  "virtualMachineScaleSet": {
    "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet",
    "resourceGroup": "myResourceGroup"
  },
}

إنشاء مجموعة تحجيم بحجم مثيل الجهاز الظاهري المحدد

عند إنشاء مجموعة تحجيم في بداية البرنامج التعليمي، وُفرَ SKU VM افتراضياً من Standard_D1_v2 لمثيلات الجهاز الظاهري. يمكنك تحديد حجم مختلف لمثيل الجهاز الظاهري استناداً إلى الإخراج من az vm list-sizes. المثال التالي يوضح إنشاء مجموعة تحجيم باستخدام --vm-sku المعلمة لتحديد حجم مثيل الجهاز الظاهري من Standard_F1. كما يستغرق الأمر بضع دقائق لإنشاء وتكوين جميع موارد مجموعة التحجيم ومثيلات الجهاز الظاهري، لا تحتاج إلى نشر مجموعة التحجيم التالية:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --orchestration-mode flexible \
  --image <SKU image> \
  --vm-sku Standard_F1 \
  --admin-user azureuser \
  --generate-ssh-keys

تغيير سعة مجموعة التحجيم

عند إنشاء مجموعة التحجيم في بداية البرنامج التعليمي، نُشر مثيلين للجهاز الظاهري افتراضياً. يمكنك تحديد --instance-count المعلمة مع az vmss create لتغيير عدد المثيلات المُنشأة بواسطة مجموعة التحجيم. لزيادة أو خفض عدد مثيلات الجهاز الظاهري في مجموعة التحجيم الموجودة، يمكنك تغيير السعة يدوياً. تُنشئ مجموعة التحجيم العدد المطلوب من مثيلات الجهاز الظاهري أو تزيله، ثم تُكوّن موازن التحميل لتوزيع النقل.

لزيادة عدد مثيلات الجهاز الظاهري في مجموعة التحجيم أو إنقاصها يدوياً، استخدم az vmss scale. يُعيّن المثال التالي عدد مثيلات الجهاز الظاهري في مجموعة التحجيم على 3:

az vmss scale \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --new-capacity 3

يستغرق بضع دقائق لتحديث سعة مجموعة التحجيم. لمشاهدة عدد المثيلات التي لديك الآن في مجموعة المقياس، استخدم قائمة az vm والاستعلام على مجموعة الموارد المقترنة.

az vm list --resource-group myResourceGroup --output table
Name                 ResourceGroup    Location    Zones
-------------------  ---------------  ----------  -------
myScaleSet_instance1  myResourceGroup  eastus
myScaleSet_instance2  myResourceGroup  eastus
myScaleSet_instance3  myResourceGroup  eastus

إيقاف مثيلات الجهاز الظاهري وإلغاء تخصيصها في مجموعة التحجيم

لإيقاف جميع مثيلات الجهاز الظاهري في مجموعة مقياس، استخدم az vmss stop.

az vmss stop \
  --resource-group myResourceGroup \
  --name myScaleSet

لإيقاف مثيلات الجهاز الظاهري الفردية في مجموعة مقياس، استخدم az vm stop وحدد اسم المثيل.

az vm stop \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

تظل مثيلات الجهاز الظاهري المتوقفة مُخصصة وتستمر في تحمل رسوم الحساب. إذا كنت ترغب بدلا من ذلك في إلغاء تخصيص مثيلات الجهاز الظاهري وتحمل رسوم التخزين فقط، فاستخدم az vm deallocate وحدد أسماء المثيلات التي تريد إلغاء تخصيصها.

az vm deallocate \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

بدء تشغيل مثيلات الجهاز الظاهري في مجموعة التحجيم

لبدء تشغيل جميع مثيلات الجهاز الظاهري في مجموعة مقياس، استخدم az vmss start.

az vmss start \
  --resource-group myResourceGroup \
  --name myScaleSet

لبدء مثيلات الجهاز الظاهري الفردية في مجموعة مقياس، استخدم az vm start وحدد اسم المثيل.

az vm start \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

إعادة تشغيل مثيلات الجهاز الظاهري في مجموعة التحجيم

لإعادة تشغيل جميع مثيلات الجهاز الظاهري في مجموعة مقياس، استخدم az vmss restart.

az vmss restart \
  --resource-group myResourceGroup \
  --name myScaleSet

لإعادة تشغيل مثيلات الجهاز الظاهري الفردية في مجموعة مقياس، استخدم az vm restart وحدد اسم المثيل.

az vm restart \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

تنظيف الموارد

عند حذف مجموعة موارد، تُحذف أيضاً جميع الموارد المُضمنة داخل مثل مثيلات الجهاز الظاهري وشبكة الاتصال الظاهرية والأقراص. تُعيد المعلمة --no-wait التحكم إلى الموجه دون انتظار إكمال العملية. --yes تؤكد المعلمة رغبتك في حذف الموارد دون مطالبة إضافية للقيام بذلك.

az group delete --name myResourceGroup --no-wait --yes

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

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

  • إنشاء مجموعة موارد
  • إنشاء مجموعة تحجيم
  • عرض واستخدام أحجام محددة للجهاز الظاهري
  • تحجيم مجموعة تحجيم يدوياً
  • تنفيذ مهام إدارة مجموعة التحجيم الشائعة مثل إيقاف مجموعة المقياس وبدء تشغيلها وإعادة تشغيلها

تقدم إلى البرنامج التعليمي التالي لمعرفة كيفية الاتصال بمثيلات مجموعة المقياس.