إدارة ترقيات نظام مجموعة Service Fabric
يعد نظام مجموعة Azure Service Fabric موردًا تملكه، ولكن Microsoft يُديره جزئيًا. فيما يلي كيفية إدارة وقت تحديث Microsoft لنظام مجموعة Azure Service Fabric وكيفية ذلك.
لمزيد من المعلومات الأساسية حول مفاهيم وعمليات ترقية نظام مجموعة، راجع ترقية أنظمة مجموعات Azure Service Fabric وتحديثها
تعيين وضع الترقية
يمكنك تعيين نظام مجموعة لتلقي ترقيات "تصميم الخدمة" التلقائية حين تُصدرها Microsoft، أو يمكنك الاختيار يدويًا من قائمة بالإصدارات المدعومة حاليًا عن طريق تعيين وضع الترقية لنظام المجموعة. يمكن القيام بذلك إما من خلال عنصر تحكم وضع ترقية Fabric في مدخل Microsoft Azure أو الإعداد upgradeMode في قالب توزيع نظام المجموعة.
مدخل Azure
باستخدام مدخل Microsoft Azure، ستختار بين الترقيات التلقائية أو اليدوية عند إنشاء نظام مجموعة "تصميم الخدمة" جديد.
يمكنك أيضًا التبديل بين الترقيات التلقائية أو اليدوية من قسم ترقيات التصميم في مورد نظام مجموعة موجود.
ترقيات يدوية باستخدام مدخل Microsoft Azure
عند تحديد خيار الترقية اليدوية، كل ما يُطلب لبدء الترقية هو التحديد من القائمة المنسدلة للإصدارات المتوفرة ثم حفظها. من هناك، تبدأ ترقية نظام المجموعة على الفور.
يتم الالتزام بنُهج حماية نظام مجموعة (مزيج من سلامة العُقدة وسلامة جميع التطبيقات التي تعمل في نظام مجموعة) أثناء الترقية. إذا لم يتم استيفاء نُهج حماية نظام مجموعة، فسيُتراجع عن الترقية.
بمجرد إصلاح المشكلات التي أدت إلى التراجع، ستحتاج إلى بدء الترقية مرة أخرى باتباع نفس الخطوات السابقة.
قالب إدارة الموارد
لتغيير وضع ترقية نظام المجموعة باستخدام قالب "إدارة الموارد"، حدد إما تلقائي أو يدوي لخاصية upgradeMode لتعريف مورد Microsoft.ServiceFabric/clusters. إذا اخترت الترقيات اليدوية، فقم أيضًا بتعيين clusterCodeVersion إلى إصدار التصميم المدعوم حاليًا.
عند التوزيع الناجح للقالب، ستُطبق التغييرات على وضع ترقية نظام المجموعة. إذا كان نظام المجموعة على الوضع اليدوي، فستبدأ ترقية نظام المجموعة تلقائيًا.
يتم الالتزام بنُهج حماية نظام مجموعة (مزيج من سلامة العُقدة وسلامة جميع التطبيقات التي تعمل في نظام مجموعة) أثناء الترقية. إذا لم يتم استيفاء نُهج حماية نظام مجموعة، سيُتراجع عن الترقية.
بمجرد إصلاح المشكلات التي أدت إلى التراجع، ستحتاج إلى بدء الترقية مرة أخرى باتباع نفس الخطوات السابقة.
توزيع الموجة للترقيات التلقائية
باستخدام وضع الترقية التلقائي، يتوفر لديك خيار تمكين نظام المجموعة لتوزيع الموجة. باستخدام توزيع الموجة، يمكنك إنشاء مسار لترقية أنظمة مجموعات الاختبار والمرحلة والإنتاج تباعًا، مفصولة بـ "وقت الإعداد" المضمن للتحقق من صحة إصدارات "تصميم الخدمة" القادمة قبل تحديث أنظمة مجموعات الإنتاج.
تمكين توزيع الموجة
ملاحظة
يتطلب توزيع الموجة إصدار واجهة برمجة التطبيقات 2020-12-01-preview (أو إصدار أحدث) لمورد Microsoft.ServiceFabric/clusters.
لتمكين توزيع الموجة للترقية التلقائية، حدد أولًا الموجة التي تريد تعيين نظام مجموعتك لها:
- الموجة 0 (
Wave0): تُحدث أنظمة المجموعات بمجرد إصدار بنية "تصميم الخدمة" جديدة. مخصصة لأنظمة مجموعات الاختبار/التطوير. - الموجة 1 (
Wave1): تُحدث أنظمة المجموعات بعد أسبوع واحد (سبعة أيام) من إصدار بنية جديدة. مخصصة لأنظمة مجموعات ما قبل الإنتاج/التقسيم المرحلي. - الموجة 2 (
Wave2): تُحدث أنظمة المجموعات بعد أسبوعين (14 يوم) من إصدار بنية جديدة. مخصصة لمجموعات الإنتاج.
بعد ذلك، ما عليك سوى إضافة خاصية upgradeWave إلى قالب مورد نظام المجموعة باستخدام إحدى قيم الموجة المذكورة أعلاه. تأكد من أن إصدار واجهة برمجة تطبيقات مورد نظام المجموعة هو إصدار 2020-12-01-preview أو إصدار أحدث.
{
"apiVersion": "2020-12-01-preview",
"type": "Microsoft.ServiceFabric/clusters",
...
"fabricSettings": [...],
"managementEndpoint": ...,
"nodeTypes": [...],
"provisioningState": ...,
"reliabilityLevel": ...,
"upgradeMode": "Automatic",
"upgradeWave": "Wave1",
...
بمجرد توزيع القالب المُحدّث، ستُسجل أنظمة مجموعتك في الموجة المحددة لفترة الترقية التالية وما يلي ذلك.
يمكنك التسجيل للحصول على إشعارات البريد الإلكتروني مع ارتباطات لمساعدة إضافية في حالة فشل ترقية نظام المجموعة.
التسجيل للحصول على الإشعارات
يمكنك التسجيل للحصول على إشعارات عند فشل ترقية نظام المجموعة. سيُرسل بريد إلكتروني إلى عنوان البريد الإلكتروني (عناوين) المُعينة مع مزيد من التفاصيل حول فشل الترقية وارتباطات لمزيد من المساعدة.
ملاحظة
التسجيل في توزيع الموجة غير مطلوب لتلقي إشعارات لحالات فشل الترقية.
للتسجيل في الإشعارات، أضف قسم notifications إلى قالب مورد نظام المجموعة، وعيّن عنوان بريد إلكتروني واحد أو أكثر (المُتلقيين) لتلقي الإشعارات:
"apiVersion": "2020-12-01-preview",
"type": "Microsoft.ServiceFabric/clusters",
...
"upgradeMode": "Automatic",
"upgradeWave": "Wave1",
"notifications": [
{
"isEnabled": true,
"notificationCategory": "WaveProgress",
"notificationLevel": "Critical",
"notificationTargets": [
{
"notificationChannel": "EmailUser",
"receivers": [
"devops@contoso.com"
]
}]
}]
بمجرد توزيع القالب المُحدّث، ستُسجّل للحصول على إشعارات فشل الترقية.
نُهج مخصصة للترقيات اليدوية
يمكنك تحديد نُهج حماية مخصصة لترقيات نظام مجموعة يدويًا. تُطبق هذه النُهج في كل مرة تُحدد إصدار وقت تشغيل جديد، ما يؤدي إلى تشغيل النظام لبدء ترقية نظام مجموعة. إذا لم تقم بتجاوز النُهج، فستُستخدم الإعدادات الافتراضية.
يمكنك تحديد نُهج الحماية المخصصة أو مراجعة الإعدادات الحالية ضمن قسم ترقيات التصميم في مورد نظام المجموعة في مدخل Microsoft Azure عن طريق تحديد خيار مخصصلنهج الترقية.
التحقق من وجود إصدارات نظام المجموعة مدعومة
يمكنك الرجوع إلى إصدارات "تصميم الخدمة" للحصول على مزيد من التفاصيل حول الإصدارات وأنظمة التشغيل المدعومة.
يمكنك أيضًا استخدام واجهة برمجة تطبيقات Azure REST لسرد جميع إصدارات وقت تشغيل "تصميم الخدمة" (clusterVersions) المتوفرة للموقع المحدد واشتراكك.
GET https://<endpoint>/subscriptions/{{subscriptionId}}/providers/Microsoft.ServiceFabric/locations/{{location}}/clusterVersions?api-version=2018-02-01
"value": [
{
"id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/5.0.1427.9490",
"name": "5.0.1427.9490",
"type": "Microsoft.ServiceFabric/environments/clusterVersions",
"properties": {
"codeVersion": "5.0.1427.9490",
"supportExpiryUtc": "2016-11-26T23:59:59.9999999",
"environment": "Windows"
}
},
{
"id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.0.1427.9490",
"name": "5.1.1427.9490",
"type": " Microsoft.ServiceFabric/environments/clusterVersions",
"properties": {
"codeVersion": "5.1.1427.9490",
"supportExpiryUtc": "9999-12-31T23:59:59.9999999",
"environment": "Windows"
}
},
{
"id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.4.1427.9490",
"name": "4.4.1427.9490",
"type": " Microsoft.ServiceFabric/environments/clusterVersions",
"properties": {
"codeVersion": "4.4.1427.9490",
"supportExpiryUtc": "9999-12-31T23:59:59.9999999",
"environment": "Linux"
}
}
]
}
supportExpiryUtc الموجود في تقارير الناتج عند انتهاء صلاحية إصدار معين أو انتهت صلاحيته. لن يكون لأحدث الإصدارات تاريخ صالح، بل قيمة 9999-12-31T23:59:59.9999999، ما يعني فقط أن تاريخ انتهاء الصلاحية لم يُعيّن بعد.
التحقق من وجود مسار ترقية مدعوم
يمكنك الرجوع إلى وثائق إصدارات "تصميم الخدمة" للحصول على مسارات الترقية المعتمدة ومعلومات الإصدارات ذات الصلة.
باستخدام معلومات إصدار الهدف المدعومة، يمكنك استخدام خطوات PowerShell التالية للتحقق من صحة مسار الترقية المدعوم.
تسجيل الدخول إلى Azure
Login-AzAccountحدد الاشتراك
Set-AzContext -SubscriptionId <your-subscription>استدعاء API
$params = @{ "TargetVersion" = "<target version>"} Invoke-AzResourceAction -ResourceId -ResourceId <cluster resource id> -Parameters $params -Action listUpgradableVersions -Forceمثال:
$params = @{ "TargetVersion" = "8.1.335.9590"} Invoke-AzResourceAction -ResourceId /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster -Parameters $params -Action listUpgradableVersions -Force Output supportedPath ------------- {8.1.329.9590, 8.1.335.9590}