ترقية تلقائية لملحق الأجهزة الظاهرية ومجموعات المقاييس في Azure

تتوفر الترقية التلقائية للملحق لأجهزة Azure الظاهرية ومجموعات مقياس الجهاز الظاهري Azure. عند تمكين ترقية الملحق التلقائي على مجموعة أجهزة ظاهرية أو مقياس، تتم ترقية الملحق تلقائيًا كلما أصدر ناشر الملحق إصدارًا جديدًا لهذا الملحق.

لترقية الملحق التلقائي الميزات التالية:

  • يدعم الأجهزة الظاهرية Azure ومجموعات مقياس الجهاز الظاهري Azure.
  • يتم تطبيق الترقيات في نموذج نشر التوفر أولاً.
  • بالنسبة لمجموعة مقياس الجهاز الظاهري، لا يتم ترقية أكثر من 20٪ من الأجهزة الظاهرية لمجموعة التحجيم في دفعة واحدة. الحد الأدنى لحجم الدفعة هو جهاز ظاهري واحد.
  • يعمل لجميع أحجام الأجهزة الظاهرية، ولكل من تمديدات Windows وLinux.
  • يمكنك إلغاء الاشتراك في الترقيات التلقائية في أي وقت.
  • يمكن تمكين ترقية الملحق التلقائي على "مجموعات مقياس الجهاز الظاهري" من أي حجم.
  • يتم تسجيل كل ملحق مدعوم تسجيلاً فرديًا، ويمكنك اختيار الإضافات التي تريد ترقيتها تلقائيًا.
  • مدعوم في جميع مناطق السحابة العامة.

كيف تعمل الترقية التلقائية للملحق؟

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

تتم إعادة محاولة ترقية ملحق فاشلة تلقائيا. تتم محاولة إعادة المحاولة كل بضعة أيام تلقائياً دون تدخل المستخدم.

تحديثات التوفر أولاً

يضمن نموذج التوفر الأول للترقيات المنسقة للنظام الأساسي احترام تكوينات التوفر في Azure عبر مستويات توفر متعددة.

بالنسبة لمجموعة من الأجهزة الظاهرية التي تخضع لترقية، ينسق النظام الأساسي Azure الترقيات:

عبر المناطق:

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

داخل المنطقة:

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

ضمن "مجموعة":

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

عملية الترقية لمجموعات مقياس الجهاز الظاهري

  1. قبل بدء عملية الترقية، يضمن المنسق أن ما لا يزيد عن 20٪ من الأجهزة الظاهرية في مجموعة المقياس بأكملها غير صحية (لأي سبب من الأسباب).

  2. يحدد منسق الترقية مجموعة مثيلات الجهاز الظاهري للترقية. قد تحتوي حزمة الترقية على 20٪ كحد أقصى من إجمالي عدد الأجهزة الظاهرية، مع مراعاة الحد الأدنى لحجم الحزم لجهاز ظاهري واحد. يتم النظر في تعريف نهج الترقية ومناطق التوفر أثناء تحديد الدفعة.

  3. بعد الترقية، تتم مراقبة صحة الجهاز الظاهري دائما قبل الانتقال إلى الدفعة التالية. بالنسبة لمجموعات المقياس مع فحوصات صحة التطبيق المكونة أو ملحق Application Health، تتم مراقبة صحة التطبيق أيضا. تنتظر الترقية ما يصل إلى 5 دقائق (أو تكوين فحص السلامة المحدد) حتى يصبح الجهاز الظاهري سليما قبل ترقية الدفعة التالية. إذا لم يسترد الجهاز الظاهري صحته بعد الترقية، بشكل افتراضي إعادة تثبيت إصدار الملحق السابق على الجهاز الظاهري.

  4. يتتبع منسق الترقية أيضاً النسبة المئوية للأجهزة الظاهرية التي تصبح غير سليمة بعد الترقية. تتوقف الترقية إذا أصبح أكثر من 20٪ من المثيلات التي تمت ترقيتها غير سليمة أثناء عملية الترقية.

تستمر العملية المذكورة أعلاه حتى تتم ترقية جميع المثيلات في مجموعة المقياس.

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

الملحقات المدعومة

تدعم الترقية التلقائية للملحقات الملحقات التالية (ويتم إضافة المزيد بشكلٍ دوري):

تمكين الترقية التلقائية للملحق

لتمكين الترقية التلقائية للملحق لإحدى الملاحق، يجب التأكد من تعيين الخاصية enableAutomaticUpgrade على true وإضافتها إلى كل تعريف ملحق على حدة.

واجهة برمجة تطبيقات REST للأجهزة الظاهرية

لتمكين ترقية الملحق التلقائي لملحق (في هذا المثال ملحق عامل التبعية) على جهاز Azure الظاهري، استخدم الاستدعاء التالي:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/extensions/<extensionName>?api-version=2019-12-01`
{    
    "name": "extensionName",
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "location": "<location>",
    "properties": {
        "autoUpgradeMinorVersion": true,
        "enableAutomaticUpgrade": true, 
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentWindows",
        "typeHandlerVersion": "9.5"
        }
}

واجهة برمجة تطبيقات REST لمجموعات مقياس الجهاز الظاهري

استخدم الاستدعاء التالي لإضافة الملحق إلى نموذج مجموعة المقياس:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmssName>?api-version=2019-12-01`
{
   "location": "<location>",
   "properties": {
   	    "virtualMachineProfile": {
            "extensionProfile": {
       	        "extensions": [
            	{
                "name": "<extensionName>",
            	  "properties": {
             		    "autoUpgradeMinorVersion": true,
             		    "enableAutomaticUpgrade": true,
              	    "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
              	    "type": "DependencyAgentWindows",
              	    "typeHandlerVersion": "9.5"
            		}
          	    }
        	    ]
    	    }
    	}
    }
}

Azure PowerShell للأجهزة الظاهرية

استخدم Set-AzVMExtension cmdlet:

Set-AzVMExtension -ExtensionName "Microsoft.Azure.Monitoring.DependencyAgent" `
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Publisher "Microsoft.Azure.Monitoring.DependencyAgent" `
    -ExtensionType "DependencyAgentWindows" `
    -TypeHandlerVersion 9.5 `
    -Location WestUS `
    -EnableAutomaticUpgrade $true

Azure PowerShell لمجموعات مقياس الجهاز الظاهري

استخدم الأمر cmdlet Add-AzVmssExtension لإضافة الملحق إلى نموذج مجموعة المقياس:

Add-AzVmssExtension -VirtualMachineScaleSet $vmss
    -Name "Microsoft.Azure.Monitoring.DependencyAgent" `
    -Publisher "Microsoft.Azure.Monitoring.DependencyAgent" `
    -Type "DependencyAgentWindows" `
    -TypeHandlerVersion 9.5 `
    -EnableAutomaticUpgrade $true

قم بتحديث مجموعة المقياس باستخدام Update-AzVmss بعد إضافة الملحق.

Azure CLI للأجهزة الظاهرية

استخدم مجموعة ملحقات az vm cmdlet:

az vm extension set \
    --resource-group myResourceGroup \
    --vm-name myVM \
    --name DependencyAgentLinux \
    --publisher Microsoft.Azure.Monitoring.DependencyAgent \
    --version 9.5 \
    --enable-auto-upgrade true

Azure CLI لمجموعات مقياس الجهاز الظاهري

استخدم مجموعة ملحقات az vmss cmdlet لإضافة الملحق إلى نموذج مجموعة المقياس:

az vmss extension set \
    --resource-group myResourceGroup \
    --vmss-name myVMSS \
    --name DependencyAgentLinux \
    --publisher Microsoft.Azure.Monitoring.DependencyAgent \
    --version 9.5 \
    --enable-auto-upgrade true

قالب ARM للأجهزة الظاهرية

يصف المثال التالي كيفية تعيين ترقيات الملحق التلقائي لملحق (ملحق عامل التبعية في هذا المثال) على جهاز ظاهري باستخدام Azure Resource Manager

{
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "location": "[resourceGroup().location]",
    "name": "<extensionName>",
    "dependsOn": [
        "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
    ],
    "properties": {
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentWindows",
        "typeHandlerVersion": "9.5",
        "autoUpgradeMinorVersion": true,
        "enableAutomaticUpgrade": true,
        "settings": {
            "enableAMA": "true"
        }
    }
}

قالب ARM لمجموعات مقياس الجهاز الظاهري

استخدم المثال التالي لتعيين ترقية الملحق التلقائية على الملحق ضمن نموذج مجموعة المقياس:

{
   "type": "Microsoft.Compute/virtualMachineScaleSets",
   "apiVersion": "2023-09-01",
   "name": "[variables('vmScaleSetName')]",
   "location": "[resourceGroup().location]",
   "properties": {
   	    "virtualMachineProfile": {
            "extensionProfile": {
       	        "extensions": [{
                     "name": "<extensionName>",
                     "properties": {
                          "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
                          "type": "DependencyAgentWindows",
                          "typeHandlerVersion": "9.5",
                          "autoUpgradeMinorVersion": true,
                          "enableAutomaticUpgrade": true,
                     }
                }]
    	    }
    	}
    }
}

استخدام مدخل Microsoft Azure

يمكنك استخدام مدخل Azure - شفرة الملحق لتمكين الترقية التلقائية للملحقات على الأجهزة الظاهرية الموجودة ومجموعات مقياس الجهاز الظاهري.

  1. انتقل إلى شفرة الأجهزة الظاهرية أو مجموعات مقياس الأجهزة الظاهرية وحدد المورد بالنقر فوق اسمه.
  2. انتقل إلى شفرة "Extenisons + applications" ضمن Settings لعرض جميع الملحقات المثبتة على المورد. يوضح العمود "حالة الترقية التلقائية" ما إذا كانت الترقية التلقائية للملحق ممكنة أو معطلة أو غير مدعومة.
  3. انتقل إلى جزء تفاصيل الملحق بالنقر فوق اسم الملحق. لقطة شاشة لمدخل Azure - شفرة الملحق.
  4. انقر فوق "تمكين الترقية التلقائية" لتمكين الترقية التلقائية للملحق. يمكن أيضا استخدام هذا الزر لتعطيل الترقية التلقائية عند الحاجة.
    لقطة شاشة لمدخل Azure لتمكين الترقية التلقائية للملحق.

ترقيات الملحق بملحقات متعددة

قد تحتوي مجموعة مقياس الجهاز الظاهري (VM) على ملحقات متعددة مع تمكين الترقية التلقائية للملحق. أيضاً قد يكون لنفس الجهاز الظاهري أو مجموعة المقاييس ملحقات أخرى دون تمكين الترقية التلقائية للملحق.

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

يمكن أيضاً تطبيق الترقيات التلقائية للملحقات عندما تحتوي مجموعة مقياس جهاز ظاهري أو جهاز ظاهري على ملحقات متعددة تم تكوينها باستخدام تسلسل الملحقات. ينطبق تسلسل الملحق على نشر الجهاز الظاهري للمرة الأولى، ويتم تطبيق أي ترقيات مستقبلية للملحق على الملحق بشكلٍ مستقل.

الفرق بين enableAutomaticUpgrade و autoUpgradeMinorVersion

  1. AutoUpgradeMinorVersion:

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

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

يتم إعادة الالتزام بتمكين كلتا الخاصيتين للحفاظ على جميع الأجهزة الظاهرية آمنة ومحدثة.

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

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