أنواع عقدة نظام مجموعات مُدارة بواسطة Service Fabric

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

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

ملاحظة

لن تتمكن من تعديل نوع العقدة خلال إجراء تغيير. يوصى بالسماح بإكمال أي تغيير مطلوب قبل إجراء تغيير آخر.

إضافة نوع العقدة

يمكنك إضافة نوع عقدة إلى مجموعة الأجهزة المدارة من قبل Service Fabric من خلال المدخل وقالبAzure Resource Manager أو PowerShell.

إضافة باستخدام البوابة الإلكترونية

ملاحظة

يمكنك فقط إضافة أنواع العقد الثانوية باستخدام البوابة الإلكترونية

  1. تسجيل الدخول إلى مدخل Microsoft Azure.

  2. انتقل إلى صفحة نظرة عامة على مورد نظام المجموعة. Sample Overview page

  3. اختر Node typesتحت Settings قسم Node Types view

  4. انقر Add في أعلى الصفحة واملأ البيانات المطلوبة ثم انقر إضافة للأسفل، هذا فقط!

  5. انتظر حتى إكتمال إضافة نوع العقدة الجديدة

إضافة باستخدام قالب ARM

أضف نوع مورد آخر Microsoft.ServiceFabric/managedclusters/nodetypes باستخدام القيم المطلوبة وانشر مجموعة أجهزة الكمبيوتر حتى تعمل الإعدادات.

  • يجب أن يكون مورد نظام المجموعة apiVersion المداره من قبل Service Fabric في 2021-05-01 أو بعد ذلك.
  • تأكد من التعيين isPrimary إلى true ما إن كنت تنوي استبدال نوع عقدة أساسي موجود.
          {
            "apiVersion": "[variables('sfApiVersion')]",
            "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
            "name": "[concat(parameters('clusterName'), '/', parameters('nodeType2Name'))]",
            "location": "[resourcegroup().location]",
            "dependsOn": [
              "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
            ],
            "properties": {
                "isPrimary": false,
                "vmImagePublisher": "[parameters('vmImagePublisher')]",
                "vmImageOffer": "[parameters('vmImageOffer')]",
                "vmImageSku": "[parameters('vmImageSku')]",
                "vmImageVersion": "[parameters('vmImageVersion')]",
                "vmSize": "[parameters('nodeType2VmSize')]",
                "vmInstanceCount": "[parameters('nodeType2VmInstanceCount')]",
                "dataDiskSizeGB": "[parameters('nodeType2DataDiskSizeGB')]",
                "dataDiskType": "[parameters('nodeType2managedDataDiskType')]"
           }

على سبيل المثال تكوين نوعين من العقدة، انظرنموذج قالب ARM من نوع العقدة

أضف باستخدام PowerShell

لإنشاء نوع عقدة جديد، ستحتاج إلى تعريف هذه الخصائص:

  • مجموعة الموارد: مجموعة الموارد الموجودة في المجموعة
  • اسم المجموعة: اسم نظام المجموعة المدارة
  • اسم نوع العقدة: اسم مميز عن أي نوع عقدة حالي في المجموعة.
  • عدد المثيلات: العدد الأولي للعقد حسب نوع العقدة الجديدة.
  • حجم الجهاز الافتراضي: وحدة إدارة مخزون الجهاز الافتراضي للعقيدات إذا لم يتم تحديدها، تُستخدم القيمة الافتراضية Standard_D2.

ملاحظة

في حالة إضافة نوع عقدة أساسي، -Primary يجب استخدام الخاصية.

$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "nt2"
$vmSize = "Standard_D2_v2"

New-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -Name $nodeTypeName -InstanceCount 3 -vmSize $vmSize

إزالة نوع عقدة

يمكنك إزالة نوع عقدة نظام مجموعة مدارة من Service Fabric باستخدام Portal أو PowerShell.

ملاحظة

لإزالة نوع عقدة أساسي من نظام مجموعة مدارة بواسطةService Fabric، يجب استخدام PowerShell ويجب أن يكون هناك أكثر من نوع عقدة أساسية واحد متوفر.

إزالة باستخدام البوابة الإلكترونية

  1. تسجيل الدخول إلى مدخل Microsoft Azure.

  2. انتقل إلى صفحة نظرة عامة على مورد نظام المجموعة. Sample Overview page

  3. اختر Node typesتحت Settings قسم Node Types view

  4. حدد الخيار الذي Node Type تريد إزالته وانقر Delete في الجزء العلوي.

إزالة باستخدام PowerShell

ملاحظة

في حالة إزالة نوع عقدة أساسي لسيناريوهات مثل ترقية SKU، فسيستغرق الأمر عدة ساعات ويمكن مراقبة التقدم باستخدام SFX. ستقوم عقد البذور بترحيل عقدة واحدة لكل نطاق ترقية (UD) سيرا على الأقدام في كل مرة.

لإزالة نوع عقدة، ستحتاج إلى تعريف هذه الخصائص:

  • مجموعة الموارد: مجموعة الموارد الموجودة في المجموعة
  • اسم المجموعة: اسم نظام المجموعة المدارة
  • اسم نوع العقدة: اسم مميز عن أي نوع عقدة حالي في المجموعة.
$resourceGroup = "myResourceGroup"
$clusterName = "myCluster"
$nodeTypeName = "nt2"

Remove-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName  -Name $nodeTypeName

مقياس نوع العقدة

يمكنك تغيير حجم نوع عقدة نظام مجموعة مدارة بواسطةService Fabric باستخدام البوابة الإلكترونية أو قالب ARM أو PowerShell. يمكنك أيضا تكوين القياس التلقائي لنوع عقدة ثانوي إذا كنت تريد حلا آليا بالكامل.

ملاحظة

بالنسبة لنوع العقدة الأساسية، لن تتمكن من الانتقال إلى أقل من 3 عقد لنظام مجموعة SKU الأساسية، و5 عقد لنظام مجموعة SKU القياسية.

التوسيع باستخدام البوابة الإلكترونية

في هذه الإرشادات التفصيلية، ستتعرف على كيفية تعديل عدد العقدة لنوع عقدة باستخدام البوابة الإلكترونية.

  1. تسجيل الدخول إلى مدخل Microsoft Azure.

  2. انتقل إلى صفحة نظرة عامة على مورد نظام المجموعة. Sample Overview page

  3. حدد Node Typesتحت قسمSettings

  4. حدد الخيار Node type name الذي تريد تعديله

  5. اضبط Node count القيمة الجديدة التي تريدها وحددها Apply في الأسفل. في لقطة الشاشة هذه، تم 3 تعديل القيمة وتعديلها إلى 5. Sample showing a node count increase

  6. Provisioning state ستظهر الآن حالة Updating حتى تكتمل. عند اكتماله، سيظهر Succeeded مرة أخرى. Sample showing a node type updating

توسيع نوع عقدة باستخدام قالب

لضبط عدد العقدة لنوع عقدة باستخدام قالب ARM، اضبط vmInstanceCount الخاصية باستخدام القيمة الجديدة وقم بنشر نظام مجموعة حتى يصبح الإعداد ساري المفعول. ستبدأ المجموعة بالترقية تلقائيا وسترى العقد الإضافية عند اكتمالها.

  • يجب أن يكون مورد نظام المجموعة apiVersion المداره من قبل Service Fabric في 2021-05-01 أو بعد ذلك.

ملاحظة

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

     {
            "apiVersion": "[variables('sfApiVersion')]",
            "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
            "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
            "location": "[resourcegroup().location]",
            "properties": {
                ...
                "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
                ...
            }
        }
}

تغيير سعة نوع عقدة باستخدام PowerShell

غير عدد النماذج لزيادة أو خفض عدد العقد على العقدة التي ترغب في إنشائها. يمكنك العثور على أنواع العقد المختلفة في قالب Azure Resource Manager (قالب ARM) من خلال نشر نظام المجموعة أو من خلال Service Fabric Explorer.

$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "FE"
$instanceCount = "7"

Set-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -name $nodeTypeName -InstanceCount $instanceCount -Verbose

ستبدأ المجموعة بالترقية تلقائيا وسترى العقد الإضافية عند اكتمالها.

تمكين ترقية تلقائية لصورة نظام التشغيل

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

لتمكين ترقيات نظام التشغيل التلقائية:

  • استخدام apiVersion 2021-05-01 أو إصدار أحدث من موارد Microsoft.ServiceFabric/managedclusters وMicrosoft.ServiceFabric/managedclusters/nodetypes
  • تعيين خاصية enableAutoOSUpgrade المجموعة إلى true
  • تعيين خاصية مورد عقدة نظام المجموعة vmImageVersion إلى الأحدث

على سبيل المثال:

    {
      "apiVersion": "[variables('sfApiVersion')]",
      "type": "Microsoft.ServiceFabric/managedclusters",
      ...
      "properties": {
        ...
        "enableAutoOSUpgrade": true
      },
    },
    {
      "apiVersion": "[variables('sfApiVersion')]",
      "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
       ...
      "properties": {
        ...
        "vmImageVersion": "latest",
        ...
      }
    }
}

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

في حالة فشل الترقية، ستتم إعادة محاولة تشغيل Service Fabric بعد 24 ساعة، لمدة أقصاها ثلاث عمليات إعادة استدعاء. وعلى غرار ترقيات Service Fabric الكلاسيكية (غير المدارة)، قد تمنع التطبيقات أو العقد غير الصحية ترقية صورة نظام التشغيل.

لمزيد من المعلومات حول ترقيات الصور، انظرترقيات صور نظام التشغيل التلقائي باستخدام مجموعات مغيرات سعة الجهاز الظاهري Azure.

تعديل وحدة حفظ المخزون SKU لنظام التشغيل لنوع عقدة

تمكنك المجموعات المدارة من Service Fabric من تعديل وحدة حفظ المخزون SKU لنظام التشغيل لنوع عقدة في مكانه. هذا مفيد لسيناريوهات مثل الترحيل من Windows 2019 إلى Windows 2022 أو إذا كنت تريد التبديل إلى وحدة حفظ المخزون SKU خادم (أساسي) مقابل خادم مع وحدة حفظ المخزون SKU تجربة سطح المكتب.

تعديل وحدة حفظ المخزون SKU لنظام التشغيل باستخدام البوابة الإلكترونية

في هذه الإرشادات التفصيلية، ستتعلم كيفية تعديل صورة نظام التشغيل لنوع عقدة باستخدام البوابة الإلكترونية.

  1. تسجيل الدخول إلى مدخل Microsoft Azure.

  2. انتقل إلى صفحة نظرة عامة على مورد نظام المجموعة. Sample Overview page

  3. حدد Node Typesتحت قسمSettings

  4. حدد الخيار Node type name الذي تريد تعديله

  5. اضبط OS Image القيمة الجديدة التي تريدها وحددها Apply في الأسفل. ![عينة تظهر تغيير صورة نظام التشغيل] [تغيير نظام التشغيل صورة]

  6. Provisioning state سيظهر الآن حالة Updating نطاق ترقية واحد وسيتابعه في كل مرة. عند اكتماله، سيظهر Succeeded مرة أخرى. Sample showing a node type updating

تعديل وحدة حفظ المخزون SKU لنظام التشغيل باستخدام قالب

لتعديل صورة نظام التشغيل المستخدمة لنوع عقدة باستخدام قالب ARM، اضبط vmImageSku الخاصية بالقيمة الجديدة وقم بنشر نظام مجموعة حتى يصبح الإعداد ساري المفعول. سيقوم موفر نظام المجموعة المدار بإعادة تصوير كل مثيل حسب مجال الترقية.

  • يجب أن يكون مورد نظام المجموعة apiVersion المداره من قبل Service Fabric في 2021-05-01 أو بعد ذلك.
     {
            "apiVersion": "[variables('sfApiVersion')]",
            "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
            "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
            "location": "[resourcegroup().location]",
            "properties": {
                ...
                "vmImagePublisher": "[parameters('vmImagePublisher')]",
                "vmImageOffer": "[parameters('vmImageOffer')]",
                "vmImageSku": "[parameters('vmImageSku')]",
                "vmImageVersion": "[parameters('vmImageVersion')]",
                ...
            }
        }
}

تكوين خصائص تحديد نوع العقدة

يتم استخدام خصائص التحديد لضمان تشغيل أحمال عمل معينة فقط على أنواع عقد معينة في المجموعة. يدعم نظام المجموعة المدارة من Service Fabric تكوين هذه الخصائص عبر البوابة الإلكترونية أو قالب ARM أو PowerShell.

تكوين خصائص التحديد باستخدام البوابة الإلكترونية

في هذه الإرشادات التفصيلية، ستتعرف على كيفية تعديل خاصية موضع لنوع عقدة باستخدام البوابة الإلكترونية.

  1. تسجيل الدخول إلى مدخل Microsoft Azure.

  2. انتقل إلى صفحة نظرة عامة على مورد نظام المجموعة. Sample Overview page

  3. حدد Node Typesتحت قسمSettings

  4. حدد الخيار Node type name الذي تريد تعديله

  5. في القسم، Placement properties أضف الاسم والقيمة التي تريدها وحدد Apply في الأسفل. في لقطة الشاشة هذه، NameSSD_Premium تم استخدام مع Valuetrue. Sample showing adding a placement property

  6. Provisioning state ستظهر الآن حالة Updating حتى تكتمل. عند اكتماله، سيظهر Succeeded مرة أخرى. Sample showing a node type updating

تكوين خصائص الموضع باستخدام قالب

لضبط خصائص الموضع لنوع عقدة باستخدام قالب ARM، اضبط placementProperties الخاصية باستخدام القيمة (القيم) الجديدة وقم بنشر نظام مجموعة حتى يصبح الإعداد ساري المفعول. يوضح النموذج أدناه ثلاث قيم يتم تعيينها لنوع عقدة.

  • يجب أن يكون مورد نظام المجموعة apiVersion المداره من قبل Service Fabric في 2021-05-01 أو بعد ذلك.
     {
            "apiVersion": "[variables('sfApiVersion')]",
            "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
            "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
            "location": "[resourcegroup().location]",
            "properties": {
                "placementProperties": {
                    "PremiumSSD": "true",
                    "NodeColor": "green",
                    "SomeProperty": "5"
            }
        }
}

تكوين خصائص الموضع باستخدام PowerShell

سيحدّث المثال التالي أي خصائص موضع موجودة لنوع عقدة معين والكتابة فوقها.

$rgName = "testRG"
$clusterName = "testCluster"
$NodeTypeName = "nt1"
Set-AzServiceFabricManagedNodeType -ResourceGroupName $rgName -ClusterName $clusterName -name $NodeTypeName -PlacementProperty @{NodeColor="Red";SomeProperty="6";} -Verbose

تعديل رمز وحدة حفظ المخزون SKU للجهاز الظاهري لنوع عقدة

لا تدعم مجموعة أجهزة الكمبيوتر المدارة بواسطةService Fabric التعديل الموضعي لرمز وحدة حفظ المخزون SKU للجهاز الظاهري، ولكنها أبسط من الكلاسيكية. من أجل تحقيق ذلك، ستحتاج إلى القيام بما يلي:

تكوين أقراص مدارة متعددة

تقوم مجموعات Service Fabric المدارة افتراضيا بتكوين قرص مدار واحد. من خلال تكوين الخاصية والقيم الاختيارية التالية، يمكنك إضافة المزيد من الأقراص المدارة إلى أنواع العقد في المجموعة. يمكنك تحديد حرف محرك الأقراص ونوع القرص والحجم لكل قرص.

كوّن المزيد من الأقراص المدارة عن طريق الإعلان عن additionalDataDisks الخاصية والمعلمات المطلوبة في قالب Resource Manager كما يلي:

متطلبات الميزة

  • يجب أن يكون رقم الوحدة المنطقية فريدا لكل قرص ولا يمكنه استخدام رقم الوحدة المنطقية المحجوز 0
  • لا يمكن لحرف القرص استخدام الأحرف المحجوزة C أو D ولا يمكن تعديله بمجرد إنشائه. يُستخدم الحرف S افتراضيًا إذا لم يتم تحديده.
  • يجب تحديد نوع قرص مدعوم
  • يجب أن يكون apiVersion مورد نظام المجموعة المدار بواسطة Service Fabric هو 2022-01-01 أو إصدار أحدث.
     {
            "apiVersion": "[variables('sfApiVersion')]",
            "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
            "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
            "location": "[resourcegroup().location]",
            "properties": {
                "additionalDataDisks": {
                    "lun": "1",
                    "diskSizeGB": "50",
                    "diskType": "Standard_LRS",
                    "diskLetter": "S" 
            }
        }
     }

انظر القائمة الكاملة المتوفرة للمعلمات

تكوين حرف محرك أقراص بيانات Service Fabric

تقوم مجموعات Service Fabric المدارة افتراضيا بتكوين قرص بيانات Service Fabric وتكوين حرف محرك الأقراص تلقائيا على كافة العقد من نوع العقدة. من خلال تكوين هذه الخاصية والقيمة الاختيارية، يمكنك تحديد واسترداد حرف قرص بيانات Service Fabric إذا كان لديك متطلبات محددة لتعيين حرف محرك الأقراص.

متطلبات الميزة

  • لا يمكن لحرف القرص استخدام الأحرف المحجوزة C أو D ولا يمكن تعديله بمجرد إنشائه. يُستخدم الحرف S افتراضيًا إذا لم يتم تحديده.
  • يجب أن يكون apiVersion مورد نظام المجموعة المدار بواسطة Service Fabric هو 2022-01-01 أو إصدار أحدث.
     {
            "apiVersion": "[variables('sfApiVersion')]",
            "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
            "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
            "location": "[resourcegroup().location]",
            "properties": {
                "dataDiskLetter": "S"      
            }
        }
     }

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