ترحيل مجموعة Service Fabric إلى دعم منطقة التوفر

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

يمكنك ترحيل كل من المجموعات المدارة وغير المدارة. يتم تناول كليهما في هذه المقالة.

بالنسبة للمجموعات غير المدارة، نناقش سيناريوهين مختلفين:

  • ترحيل نظام مجموعة مع موازن تحميل SKU قياسي ومورد IP. يدعم هذا التكوين مناطق التوفر دون الحاجة إلى إنشاء موارد جديدة.
  • ترحيل نظام مجموعة مع موازن تحميل SKU أساسي ومورد IP. لا يدعم هذا التكوين مناطق التوفر ويتطلب إنشاء موارد جديدة.

راجع الأقسام المناسبة ضمن كل عنوان لسيناريو مجموعة Service Fabric.

إشعار

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

تتوفر نماذج القوالب في قوالب منطقة التوفر عبر Service Fabric.

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

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

مطلوب:

اوصت:

  • يجب أن يكون SKU للمجموعة Standard.
  • يجب أن يحتوي نوع العقدة الأساسية على تسع عُقد على الأقل للحصول على أفضل مرونة، ولكنه يدعم الحد الأدنى لعدد العُقد وهو ستة.
  • يجب أن يحتوي نوع العقدة الثانوية على ست عُقد على الأقل للحصول على أفضل مرونة، ولكنه يدعم الحد الأدنى لعدد العُقد وهو ثلاثة.

مجموعات Service Fabric غير المدارة

مطلوب: غير متاح.

اوصت:

  • تم تعيين مستوى موثوقية نظام المجموعة إلى Platinum.
  • مورد IP عام واحد باستخدام SKU القياسي.
  • مورد موازن تحميل واحد باستخدام SKU القياسي.
  • مجموعة أمان الشبكة (NSG) المشار إليها بواسطة الشبكة الفرعية التي تقوم فيها بنشر مجموعات مقياس الجهاز الظاهري.

موازن تحميل SKU القياسي الحالي ومورد IP

لا توجد متطلبات أساسية لهذا السيناريو، حيث يفترض أن لديك الموارد المطلوبة الموجودة.

موازن تحميل SKU الأساسي ومورد IP

  • موازن تحميل جديد باستخدام SKU القياسي، مميز عن موازن تحميل SKU الأساسي الموجود.
  • مورد IP جديد باستخدام SKU القياسي، مميز عن مورد IP الأساسي SKU الحالي.

إشعار

لا يمكن ترقية الموارد الموجودة من SKU الأساسية إلى SKU قياسية، لذلك هناك حاجة إلى موارد جديدة.

متطلبات وقت التعطل

مجموعة Service Fabric المدارة

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

نظام مجموعة Service Fabric غير المدار

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

الترحيل للمجموعات المدارة من Service Fabric

اتبع الخطوات في ترحيل نظام المجموعة المدار بواسطة Service Fabric إلى منطقة مرنة.

خيارات الترحيل للمجموعات غير المدارة في Service Fabric

خيار الترحيل 1: تمكين مناطق توفر متعددة في مجموعة مقياس جهاز ظاهري واحدة

متى تستخدم هذا الخيار

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

تتوفر عينة قالب كاملة على GitHub.

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

كيفية ترحيل نظام مجموعة Service Fabric غير المدارة باستخدام موازن تحميل SKU القياسي الحالي وموارد IP

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

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

  • القيمة الأولى هي الخاصية zones ، التي تحدد مناطق التوفر الموجودة في مجموعة مقياس الجهاز الظاهري.

  • القيمة الثانية هي singlePlacementGroup الخاصية التي يجب تعيينها إلى true. يمكن لمجموعة المقياس الممتدة عبر ثلاث مناطق توافر خدمات أن تصل إلى 300 جهاز افتراضي حتى مع singlePlacementGroup = true.

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

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

لست بحاجة إلى تكوين FaultDomain تجاوزاتUpgradeDomain.

{
  "apiVersion": "2018-10-01",
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "name": "[parameters('vmNodeType1Name')]",
  "location": "[parameters('computeLocation')]",
  "zones": [ "1", "2", "3" ],
  "properties": {
    "singlePlacementGroup": true,
    "zoneBalance": true
  }
}

إشعار

  • يجب أن تحتوي مجموعات تصميم الخدمة على نوع عقدة أساسي واحد على الأقل. يجب أن يكون مستوى متانة أنواع العقد الأولية من الفضة أو أعلى.
  • يجب تكوين منطقة توفر تمتد على مجموعة مقياس الجهاز الظاهري مع ثلاث مناطق توفر على الأقل، بغض النظر عن مستوى المتانة.
  • يجب أن تحتوي منطقة التوفر التي تمتد على مجموعة مقياس الجهاز الظاهري مع Silver أو متانة أعلى على ما لا يقل عن 15 جهازا ظاهريا.
  • يجب أن تحتوي منطقة التوفر التي تمتد على مجموعة مقياس الجهاز الظاهري مع المتانة البرونزية على ستة أجهزة ظاهرية على الأقل.
تمكين الدعم لمناطق متعددة في نوع عقدة تصميم الخدمة

لدعم مناطق توفر متعددة، يجب تمكين نوع عقدة Service Fabric.

  • القيمة الأولى هي multipleAvailabilityZones التي يجب تعيينها true لنوع العقدة.

  • أما القيمة الثانية هي sfZonalUpgradeMode وتكون اختيارية. لا يمكن تعديل هذه الخاصية إذا كان نوع العقدة مع مناطق توفر متعددة موجودا بالفعل في نظام المجموعة. تتحكم هذه الخاصية في التجميع المنطقي للأجهزة الظاهرية في UDs.

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

    • إذا تم حذف هذه القيمة أو ضبطها إلىHierarchical: يتم تجميع VMs لتعكس التوزيع النطاقي في ما يصل إلى 15 UD. تحتوي كل منطقة من المناطق الثلاث على خمس وحدات UD. وهذا يضمن أن يتم تحديث المناطق واحدة تلو الأخرى، والانتقال إلى المنطقة التالية فقط بعد إكمال خمسة وحدات UD داخل المنطقة الأولى. عملية التحديث أكثر أمانا لنظام المجموعة وتطبيق المستخدم.

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

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

    • إذا تم تعيين هذه القيمة إلي Parallel: تحدث جميع تحديثات مجموعة المقاييس بالتوازي في جميع المناطق. وضع النشر هذا أسرع للترقيات، لذلك لا نوصي به لأنه يتعارض مع إرشادات SDP، والتي تنص على أنه يجب تطبيق التحديثات على منطقة واحدة في كل مرة.
    • إذا تم حذف هذه القيمة أو ضبطها على Hierarchical: هذا يضمن أن المناطق يتم تحديثها واحدة تلو الأخرى، والانتقال إلى المنطقة التالية فقط بعد إكمال خمسة UDs داخل المنطقة الأولى. تعد عملية التحديث هذه أكثر أمانًا للكتلة وتطبيق المستخدم.

هام

يجب أن يكون إصدار واجهة برمجة تطبيقات مورد مجموعة تصميم الخدمة بإصدار أولي 2020-12-01 أو أحدث.

يجب أن يكون إصدار التعليمات البرمجية لنظام المجموعة 8.1.321 على الأقل أو أحدث.

{
  "apiVersion": "2020-12-01-preview",
  "type": "Microsoft.ServiceFabric/clusters",
  "name": "[parameters('clusterName')]",
  "location": "[parameters('clusterLocation')]",
  "dependsOn": [
    "[concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName'))]"
  ],
  "properties": {
    "reliabilityLevel": "Platinum",
    "sfZonalUpgradeMode": "Hierarchical",
    "vmssZonalUpgradeMode": "Parallel",
    "nodeTypes": [
      {
        "name": "[parameters('vmNodeType0Name')]",
        "multipleAvailabilityZones": true
      }
    ]
  }
}

إشعار

  • يجب أن تستخدم موارد IP العامة وموازن التحميل SKU القياسي الموضح سابقًا في المقالة.
  • multipleAvailabilityZones لا يمكن تحديد الخاصية على نوع العقدة إلا عند إنشاء نوع العقدة ولا يمكن تعديلها لاحقًا. لا يمكن تكوين أنواع العقد الحالية باستخدام هذه الخاصية.
  • عند sfZonalUpgradeMode حذفها أو تعيينها إلى Hierarchical، ستكون عمليات نشر المجموعة والتطبيقات أبطأ نظرًا لوجود المزيد من مجالات الترقية في المجموعة. من المهم ضبط مهلات سياسة الترقية بشكل صحيح لحساب وقت الترقية المطلوب لـ15 نطاقًا للترقية. يجب تحديث سياسة الترقية لكل من التطبيق والمجموعة للتأكد من أن التوزيع لا يتجاوز حد وقت توزيع خدمة الموارد الخاصة بـ Azure وهو 12 ساعة. هذا يعني أن التوزيع يجب ألا يستغرق أكثر من 12 ساعة لـ 15 UD (أي، يجب ألا يستغرق أكثر من 40 دقيقة لكل UD).
  • عيّن مستوى موثوقية نظام المجموعة Platinum للتأكد من أن المجموعة تنجو من سيناريو منطقة واحدة لأسفل.
  • ترقية DurabilityLevel ل nodetype مع multipleAvailabilityZones، غير مدعوم. يرجى إنشاء نوع عقدة جديد بمتانة أعلى بدلا من ذلك.
  • يدعم SF 3 مناطق توفر فقط. أي رقم أعلى غير مدعوم الآن.

تلميح

نوصي بإعداده sfZonalUpgradeModeHierarchical أو حذفه. سيتبع النشر التوزيع النطاقي لأجهزة VM وسيؤثر على كمية أصغر من النسخ المتماثلة أو المثيلات، مما يجعلها أكثر أمانًا. استخدم sfZonalUpgradeMode التعيين على Parallel إذا كانت سرعة النشر أولوية أو يتم تشغيل أحمال العمل عديمة الحالة فقط على نوع العقدة مع مناطق توافر متعددة. يؤدي هذا إلى حدوث جولة UD بالتوازي في جميع مناطق توافر الخدمات.

انتقل إلى نوع العقدة مع مناطق توافر متعددة

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

  • الترحيل من نوع عقدة يستخدم موازن التحميل الأساسي وموارد IP: تم وصف هذه العملية بالفعل في قسم فرعي أدناه للحل بنوع عقدة واحد لكل منطقة توافر خدمات.

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

  • الترحيل من نوع عقدة يستخدم موازن تحميل SKU القياسي وموارد IP مع NSG: اتبع نفس الإجراء الموضح سابقًا. ومع ذلك، ليست هناك حاجة لإضافة موازن تحميل جديد وموارد IP وNSG. يمكن إعادة استخدام نفس الموارد في نوع العقدة الجديد.

إذا واجهت أي مشاكل، فتواصل مع الدعم للحصول على المساعدة.

خيار الترحيل 2: نشر المناطق عن طريق تثبيت مجموعة مقياس جهاز ظاهري واحدة لكل منطقة

متى تستخدم هذا الخيار

يعد هذا هو التكوين المتاح بشكل عام في الوقت الحالي.

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

يتطلب المخطط الموصى به لنوع العقدة الأساسي ما يلي:

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

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

كيفية ترحيل نظام مجموعة Service Fabric غير المدارة باستخدام موازن تحميل SKU القياسي الحالي وموارد IP

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

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

  • القيمة الأولى هي الخاصية zones ، والتي تحدد منطقة التوفر التي يتم نشر مجموعة مقياس الجهاز الظاهري إليها.
  • القيمة الثانية هي singlePlacementGroup الخاصية التي يجب تعيينها إلى true.
  • القيمة الثالثة هي الخاصية faultDomainOverride في ملحق Service Fabric Virtual Machine Scale Set. يجب أن تتضمن هذه الخاصية المنطقة التي سيتم وضع مجموعة مقياس الجهاز الظاهري هذه فيها فقط. مثال:"faultDomainOverride": "az1". يجب وضع جميع موارد مجموعة مقياس الجهاز الظاهري في نفس المنطقة لأن مجموعات Azure Service Fabric لا تحتوي على دعم عبر المنطقة.
{
  "apiVersion": "2018-10-01",
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "name": "[parameters('vmNodeType1Name')]",
  "location": "[parameters('computeLocation')]",
  "zones": [
    "1"
  ],
  "properties": {
    "singlePlacementGroup": true
  },
  "virtualMachineProfile": {
    "extensionProfile": {
      "extensions": [
        {
          "name": "[concat(parameters('vmNodeType1Name'),'_ServiceFabricNode')]",
          "properties": {
            "type": "ServiceFabricNode",
            "autoUpgradeMinorVersion": false,
            "publisher": "Microsoft.Azure.ServiceFabric",
            "settings": {
              "clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
              "nodeTypeRef": "[parameters('vmNodeType1Name')]",
              "dataPath": "D:\\\\SvcFab",
              "durabilityLevel": "Silver",
              "certificate": {
                "thumbprint": "[parameters('certificateThumbprint')]",
                "x509StoreName": "[parameters('certificateStoreValue')]"
              },
              "systemLogUploadSettings": {
                "Enabled": true
              },
              "faultDomainOverride": "az1"
            },
            "typeHandlerVersion": "1.0"
          }
        }
      ]
    }
  }
}
تمكين العديد من أنواع العقد الأساسية في مورد النظام الخاص بمجموعة تصميم الخدمة

لتعيين نوع عقدة واحد أو أكثر كأساسي في مورد نظام مجموعة، قم بتعيين isPrimary الخاصية إلى true. عند توزيع مجموعة تصميم خدمة عبر مناطق توافر الخدمات، يجب أن يكون لديك ثلاثة أنواع من العقد في مناطق متميزة.

{
  "reliabilityLevel": "Platinum",
  "nodeTypes": [
    {
      "name": "[parameters('vmNodeType0Name')]",
      "applicationPorts": {
        "endPort": "[parameters('nt0applicationEndPort')]",
        "startPort": "[parameters('nt0applicationStartPort')]"
      },
      "clientConnectionEndpointPort": "[parameters('nt0fabricTcpGatewayPort')]",
      "durabilityLevel": "Silver",
      "ephemeralPorts": {
        "endPort": "[parameters('nt0ephemeralEndPort')]",
        "startPort": "[parameters('nt0ephemeralStartPort')]"
      },
      "httpGatewayEndpointPort": "[parameters('nt0fabricHttpGatewayPort')]",
      "isPrimary": true,
      "vmInstanceCount": "[parameters('nt0InstanceCount')]"
    },
    {
      "name": "[parameters('vmNodeType1Name')]",
      "applicationPorts": {
        "endPort": "[parameters('nt1applicationEndPort')]",
        "startPort": "[parameters('nt1applicationStartPort')]"
      },
      "clientConnectionEndpointPort": "[parameters('nt1fabricTcpGatewayPort')]",
      "durabilityLevel": "Silver",
      "ephemeralPorts": {
        "endPort": "[parameters('nt1ephemeralEndPort')]",
        "startPort": "[parameters('nt1ephemeralStartPort')]"
      },
      "httpGatewayEndpointPort": "[parameters('nt1fabricHttpGatewayPort')]",
      "isPrimary": true,
      "vmInstanceCount": "[parameters('nt1InstanceCount')]"
    },
    {
      "name": "[parameters('vmNodeType2Name')]",
      "applicationPorts": {
        "endPort": "[parameters('nt2applicationEndPort')]",
        "startPort": "[parameters('nt2applicationStartPort')]"
      },
      "clientConnectionEndpointPort": "[parameters('nt2fabricTcpGatewayPort')]",
      "durabilityLevel": "Silver",
      "ephemeralPorts": {
        "endPort": "[parameters('nt2ephemeralEndPort')]",
        "startPort": "[parameters('nt2ephemeralStartPort')]"
      },
      "httpGatewayEndpointPort": "[parameters('nt2fabricHttpGatewayPort')]",
      "isPrimary": true,
      "vmInstanceCount": "[parameters('nt2InstanceCount')]"
    }
  ]
}

إذا واجهت أي مشاكل، فتواصل مع الدعم للحصول على المساعدة.

خيار الترحيل: مجموعة Service Fabric غير المدارة مع موازن تحميل SKU الأساسي وموارد IP

متى تستخدم هذا الخيار

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

كيفية ترحيل نظام مجموعة Service Fabric غير المدارة باستخدام موازن تحميل SKU الأساسي وموارد IP

لترحيل نظام مجموعة يستخدم موازن تحميل و IP مع SKU أساسي، يجب عليك أولاً إنشاء موازن تحميل ومورد IP جديد تمامًا باستخدام SKU القياسي. لا يمكن تحديث هذه الموارد.

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

  1. للبدء، أضف الموارد الجديدة إلى قالب مدير موارد Azure الموجود لديك. تشمل هذه الموارد ما يلي:

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

    يمكن العثور على مثال لهذه الموارد في عينة القالب.

    New-AzureRmResourceGroupDeployment `
        -ResourceGroupName $ResourceGroupName `
        -TemplateFile $Template `
        -TemplateParameterFile $Parameters
    
  2. عند انتهاء نشر الموارد، يمكنك تعطيل العقد في نوع العقدة الأساسي من الكتلة الأصلية. عند تعطيل العقد، تنتقل خدمات النظام إلى نوع العقدة الأساسي الجديد الذي قمت بنشره مسبقًا.

    Connect-ServiceFabricCluster -ConnectionEndpoint $ClusterName `
        -KeepAliveIntervalInSec 10 `
        -X509Credential `
        -ServerCertThumbprint $thumb  `
        -FindType FindByThumbprint `
        -FindValue $thumb `
        -StoreLocation CurrentUser `
        -StoreName My 
    
    Write-Host "Connected to cluster"
    
    $nodeNames = @("_nt0_0", "_nt0_1", "_nt0_2", "_nt0_3", "_nt0_4")
    
    Write-Host "Disabling nodes..."
    foreach($name in $nodeNames) {
        Disable-ServiceFabricNode -NodeName $name -Intent RemoveNode -Force
    }
    
  3. بعد تعطيل جميع العقد، ستعمل خدمات النظام على نوع العقدة الأساسي، والذي ينتشر عبر المناطق. يمكنك بعد ذلك إزالة العقد المعطلة من نظام المجموعة. بعد إزالة العقد، يمكنك إزالة موارد IP الأصلية وموازن التحميل ومجموعة مقياس الجهاز الظاهري.

    foreach($name in $nodeNames){
        # Remove the node from the cluster
        Remove-ServiceFabricNodeState -NodeName $name -TimeoutSec 300 -Force
        Write-Host "Removed node state for node $name"
    }
    
    $scaleSetName="nt0"
    Remove-AzureRmVmss -ResourceGroupName $groupname -VMScaleSetName $scaleSetName -Force
    
    $lbname="LB-cluster-nt0"
    $oldPublicIpName="LBIP-cluster-0"
    $newPublicIpName="LBIP-cluster-1"
    
    Remove-AzureRmLoadBalancer -Name $lbname -ResourceGroupName $groupname -Force
    Remove-AzureRmPublicIpAddress -Name $oldPublicIpName -ResourceGroupName $groupname -Force
    
  4. بعد ذلك، قم بإزالة المراجع إلى هذه الموارد من قالب إدارة الموارد الذي قمت بنشره.

  5. أخيرًا، قم بتحديث اسم DNS وعنوان IP العام.

$oldprimaryPublicIP = Get-AzureRmPublicIpAddress -Name $oldPublicIpName  -ResourceGroupName $groupname
$primaryDNSName = $oldprimaryPublicIP.DnsSettings.DomainNameLabel
$primaryDNSFqdn = $oldprimaryPublicIP.DnsSettings.Fqdn

Remove-AzureRmLoadBalancer -Name $lbname -ResourceGroupName $groupname -Force
Remove-AzureRmPublicIpAddress -Name $oldPublicIpName -ResourceGroupName $groupname -Force

$PublicIP = Get-AzureRmPublicIpAddress -Name $newPublicIpName  -ResourceGroupName $groupname
$PublicIP.DnsSettings.DomainNameLabel = $primaryDNSName
$PublicIP.DnsSettings.Fqdn = $primaryDNSFqdn
Set-AzureRmPublicIpAddress -PublicIpAddress $PublicIP

إذا واجهت أي مشاكل، فتواصل مع الدعم للحصول على المساعدة.

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