استخدام نهج التحجيم المخصصة مع مجموعات مقياس الجهاز الظاهري Azure

يمكن توسيع نطاق توزيع مجموعة مقياس الجهاز الظاهري أو توسيعه استنادا إلى مجموعة من المقاييس، بما في ذلك النظام الأساسي والمقاييس المخصصة المعرفة من قبل المستخدم. بينما يقوم التوسع بإنشاء أجهزة ظاهرية جديدة استناداً إلى نموذج مجموعة المقياس، يؤثر المقياس في تشغيل الأجهزة الظاهرية التي قد تكون لها تكوينات و/أو وظائف مختلفة مع تطور حمل عمل مجموعة المقياس.

توفر ميزة نهج تضييق النطاق للمستخدمين طريقة لتكوين الترتيب الذي يتم به توسيع نطاق الأجهزة الظاهرية، عن طريق ثلاثة تكوينات للقياس:

  1. Default
  2. NewestVM
  3. OldestVM

نهج توسيع النطاق الافتراضي

تنسيق مرن

باستخدام هذا النهج، يتم تحجيم الأجهزة الظاهرية بعد الموازنة عبر مناطق التوفر (إذا كانت مجموعة التحجيم في تكوين نطاقي)، ويتم تحجيم أقدم جهاز ظاهري وفقا له createdTime أولا. لا تتوفر الموازنة عبر مجال الخطأ في النهج الافتراضي مع وضع التنسيق المرن.

التنسيق المنتظم

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

  1. موازنة الأجهزة الظاهرية عبر مناطق التوفر (إذا تم نشر مجموعة المقياس في تكوين المناطق)
  2. موازنة الأجهزة الظاهرية عبر مجالات الخطأ (أفضل جهد)
  3. حذف الجهاز الظاهري الذي يحتوي على معرف المثيل الأعلى

لا يحتاج المستخدمون إلى تحديد نهج توسيع النطاق إذا كانوا يريدون فقط اتباع الترتيب الافتراضي.

لا تنقل الموازنة عبر مناطق التوفر أو مجالات الخطأ المثيلات عبر مناطق التوفر أو مجالات الخطأ. يتم تحقيق التوازن من خلال حذف الأجهزة الظاهرية من مناطق توافر الخدمات غير المتوازنة أو مجالات الخطأ حتى يصبح توزيع الأجهزة الظاهرية متوازناً.

أحدث نهج توسيع نطاق الأجهزة الظاهرية

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

أقدم نهج تضييق نطاق الجهاز الظاهري

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

تمكين نهج تضييق النطاق

يتم تعريف نهج التحجيم في نموذج مجموعة مقياس الجهاز الظاهري. كما هو ملاحظ في الأقسام السابقة، يلزم تعريف نهج التوسيع عند استخدام نهج "NewestVM" و"OldestVM". ستستخدم مجموعة مقياس الجهاز الظاهري تلقائيا نهج التحجيم "الافتراضي" إذا لم يتم العثور على تعريف نهج التحجيم في نموذج مجموعة التحجيم.

يمكن تعريف نهج التوسيع على نموذج مجموعة مقياس الجهاز الظاهري بالطرق التالية:

مدخل Azure

تحدد الخطوات التالية نهج تضييق النطاق عند إنشاء مجموعة مقياس جديدة.

  1. انتقل إلى مجموعات مقياس الجهاز الظاهري.
  2. حدد + Add لإنشاء مجموعة مقاييس جديدة.
  3. انتقل إلى علامة التبويب تحجيم.
  4. حدد موقع قسم نهج تضييق النطاق.
  5. حدد نهج تضييق النطاق من القائمة المنسدلة.
  6. عند الانتهاء من إنشاء مجموعة المقياس الجديدة، حدد الزر Review + create .

استخدام واجهة برمجة التطبيقات

تنفيذ PUT على مجموعة مقياس الجهاز الظاهري باستخدام API 2019-03-01:

PUT
https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<myRG>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVMSS>?api-version=2019-03-01

{ 
"location": "<VMSS location>", 
    "properties": { 
        "scaleInPolicy": {  
            "rules": ["OldestVM"]  
        } 
    }    
} 

Azure PowerShell

هام

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

أنشئ مجموعة موارد، ثم أنشئ مجموعة مقاييس جديدة مع تعيين نهج تضييق النطاق كـ OldestVM.

New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "<VMSS location>"
New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -Location "<VMSS location>" `
  -VMScaleSetName "myScaleSet" `
  -OrchestrationMode "Flexible" `
  -ScaleInPolicy “OldestVM”

Azure CLI

هام

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

يضيف المثال التالي نهج تضييق النطاق أثناء إنشاء مجموعة مقاييس جديدة. أنشئ أولاً مجموعة موارد، ثم أنشئ مجموعة مقاييس جديدة باستخدام نهج تضييق النطاق كـ OldestVM.

az group create --name <myResourceGroup> --location <VMSSLocation>
az vmss create \
  --resource-group <myResourceGroup> \
  --name <myVMScaleSet> \
  --orchestration-mode flexible \
  --image Ubuntu2204 \
  --admin-username <azureuser> \
  --generate-ssh-keys \
  --scale-in-policy OldestVM

استخدام القالب

في القالب الخاص بك، ضمن "properties"، أضف الخاصية scaleInPolicy :

"scaleInPolicy": {  
      "rules": ["OldestVM"]  
}

تحدد كتل التعليمات البرمجية هذه أن مجموعة مقياس الجهاز الظاهري ستحذف أقدم جهاز ظاهري في مجموعة مقياس متوازنة المنطقة، عند تشغيل مقياس (من خلال التحجيم التلقائي أو الحذف اليدوي).

عندما لا تكون مجموعة مقياس الجهاز الظاهري متوازنة، ستقوم مجموعة التحجيم أولا بحذف الأجهزة الظاهرية عبر المنطقة (المناطق) غير المتوازنة. ضمن المناطق غير المتوازنة، تستخدم مجموعة التحجيم نهج التحجيم المحدد لتحديد الجهاز الظاهري المراد توسيع نطاقه. في هذه الحالة، داخل منطقة غير متوازنة، ستحدد مجموعة المقياس أقدم جهاز ظاهري في تلك المنطقة المراد حذفه.

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

تنطبق نفس العملية عند استخدام نهج توسيع "NewestVM".

تعديل نُهج تضييق النطاق

يتبع تعديل نهج تضييق النطاق نفس العملية التي يتبع بها تطبيق نهج تضييق النطاق. على سبيل المثال، إذا كنت تريد تغيير النهج من "OldestVM" إلى "NewestVM"، يمكنك القيام بذلك عن طريق:

مدخل Azure

يمكنك تعديل نهج تضييق النطاق لمجموعة مقاييس موجودة من خلال مدخل Azure.

  1. في مجموعة مقياس الجهاز الظاهري الموجودة، حدد Scaling من القائمة على اليسار.
  2. حدد علامة التبويب نهج تضييق النطاق.
  3. حدد نهج تضييق النطاق من القائمة المنسدلة.
  4. عندما تنتهي، حدد حفظ.

استخدام واجهة برمجة التطبيقات

تنفيذ PUT على مجموعة مقياس الجهاز الظاهري باستخدام API 2019-03-01:

PUT
https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<myRG>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVMSS>?api-version=2019-03-01 

{ 
"location": "<VMSS location>", 
    "properties": { 
        "scaleInPolicy": {  
            "rules": ["NewestVM"]  
        } 
    }    
}

Azure PowerShell

تحديث نهج تضييق النطاق لمجموعة مقاييس موجودة:

Update-AzVmss `
 -ResourceGroupName "myResourceGroup" `
 -VMScaleSetName "myScaleSet" `
 -ScaleInPolicy “OldestVM”

Azure CLI

فيما يلي مثال لتحديث نهج تضييق النطاق لمجموعة مقاييس موجودة:

az vmss update \  
  --resource-group <myResourceGroup> \
  --name <myVMScaleSet> \
  --scale-in-policy OldestVM

استخدام القالب

في القالب، ضمن "الخصائص"، عدل القالب على النحو التالي وأعد نشره:

"scaleInPolicy": {  
      "rules": ["NewestVM"]  
} 

تنطبق نفس العملية إذا قررت تغيير "NewestVM" إلى "Default" أو "OldestVM"

حماية المثيل ونهج تضييق النطاق

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

  1. الحماية من تضييق النطاق
  2. الحماية من إجراءات مجموعة المقاييس

لا يتم حذف جهاز ظاهري محمي من خلال إجراء توسيع النطاق، بغض النظر عن نهج التوسيع المطبق. على سبيل المثال، إذا كان VM_0 (أقدم جهاز ظاهري في مجموعة التحجيم) محميا من التحجيم، وكانت مجموعة التحجيم قد تم تمكين نهج التحجيم "الأقدم في الجهاز الظاهري"، فلن يتم اعتبار VM_0 ليتم تحجيمها، على الرغم من أنه أقدم جهاز ظاهري في مجموعة التحجيم.

يمكن للمستخدم حذف الجهاز الظاهري المحمي يدوياً في أي وقت، بغض النظر عن نهج تضييق النطاق الذي تم تمكينه في مجموعة المقياس.

أمثلة الاستخدام

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

أقدم نهج تضييق نطاق الجهاز الظاهري

الحدث معرفات المثيل في المنطقة1 معرفات المثيل في المنطقة2 معرفات المثيل في المنطقة3 تحديد تضييق النطاق
الاولي 3, 4, 5, 10 2, 6, 9, 11 1, 7, 8
تضييق النطاق 3, 4, 5, 10 2, 6, 9, 11 1, 7, 8 اختر بين المنطقتَين 1 و2، على الرغم من أن المنطقة 3 لديها أقدم جهاز ظاهري. احذف VM2 من المنطقة 2 لأنه أقدم جهاز ظاهري في تلك المنطقة.
تضييق النطاق 3, 4, 5, 10 6, 9, 11 1, 7, 8 اختر المنطقة 1 على الرغم من أن المنطقة 3 تحتوي على أقدم جهاز ظاهري. احذف VM3 من المنطقة 1 لأنه أقدم جهاز ظاهري في تلك المنطقة.
تضييق النطاق 4, 5, 10 6, 9, 11 1, 7, 8 المناطق متوازنة. حذف VM1 في المنطقة 3 لأنه أقدم جهاز ظاهري في مجموعة المقياس.
تضييق النطاق 4, 5, 10 6, 9, 11 7، 8 اختر بين المنطقة 1 والمنطقة 2. احذف VM4 في المنطقة 1 لأنه أقدم جهاز ظاهري عبر المنطقتين.
تضييق النطاق 5, 10 6, 9, 11 7، 8 اختر المنطقة 2 على الرغم من أن المنطقة 1 تحتوي على أقدم جهاز ظاهري. احذف VM6 في المنطقة 1 لأنه أقدم جهاز ظاهري في تلك المنطقة.
تضييق النطاق 5, 10 9, 11 7، 8 المناطق متوازنة. حذف VM5 في المنطقة 1 لأنه أقدم جهاز ظاهري في مجموعة المقياس.

بالنسبة لمجموعات مقياس الجهاز الظاهري غير النطاقي، يحدد النهج أقدم جهاز ظاهري عبر مجموعة المقياس للحذف. يتم تخطي أي جهاز ظاهري "محمي" للحذف.

أحدث نهج توسيع نطاق الأجهزة الظاهرية

الحدث معرفات المثيل في المنطقة1 معرفات المثيل في المنطقة2 معرفات المثيل في المنطقة3 تحديد تضييق النطاق
الاولي 3, 4, 5, 10 2, 6, 9, 11 1, 7, 8
تضييق النطاق 3, 4, 5, 10 2, 6, 9, 11 1, 7, 8 اختر بين المنطقتَين 1 و2. حذف VM11 من المنطقة 2 لأنه أحدث جهاز ظاهري عبر المنطقتين.
تضييق النطاق 3, 4, 5, 10 2, 6, 9 1, 7, 8 اختر المنطقة 1 لأنها تحتوي على أجهزة ظاهرية أكثر من المنطقتين الأخريين. حذف VM10 من المنطقة 1 لأنه أحدث جهاز ظاهري في تلك المنطقة.
تضييق النطاق 3, 4, 5 2, 6, 9 1, 7, 8 المناطق متوازنة. احذف VM9 في المنطقة 2 لأنه أحدث جهاز ظاهري في مجموعة التحجيم.
تضييق النطاق 3, 4, 5 2, 6 1, 7, 8 اختر بين المنطقة 1 والمنطقة 3. احذف VM8 في المنطقة 3 لأنه أحدث جهاز ظاهري في تلك المنطقة.
تضييق النطاق 3, 4, 5 2, 6 1, 7 اختر المنطقة 1 على الرغم من أن المنطقة 3 تحتوي على أحدث جهاز ظاهري. حذف VM5 في المنطقة 1 لأنه أحدث جهاز ظاهري في تلك المنطقة.
تضييق النطاق 3, 4 2, 6 1, 7 المناطق متوازنة. حذف VM7 في المنطقة 3 لأنه أحدث جهاز ظاهري في مجموعة المقياس.

بالنسبة لمجموعات مقياس الجهاز الظاهري غير النطاقي، يحدد النهج أحدث جهاز ظاهري عبر مجموعة المقياس للحذف. يتم تخطي أي جهاز ظاهري "محمي" للحذف.

استكشاف الأخطاء وإصلاحها‬

  1. فشل في تمكين scaleInPolicy إذا تلقيت خطأ "BadRequest" مع رسالة خطأ تفيد "تعذر العثور على العضو "scaleInPolicy" على كائن من النوع "خصائص"، ثم تحقق من إصدار واجهة برمجة التطبيقات المستخدم لمجموعة مقياس الجهاز الظاهري. مطلوب إصدار API 2019-03-01 أو أعلى لهذه الميزة.

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

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

تعرف على كيفية نشر التطبيق الخاص بك على مجموعات مقياس الجهاز الظاهري.