إضافة عقد أو إزالتها إلى مجموعة "نسيج خدمة" مستقلة تعمل على خادم Windows

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

ملاحظة

وظيفة إضافة العقدة وإزالتها غير معتمدة في مجموعات التطوير المحلية.

إضافة عقد إلى مجموعتك

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

  2. حدد نطاق الخطأ ومجال الترقية الذي ستقوم بإضافة هذا الجهاز الظاهري / الجهاز إليه.

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

  3. سطح المكتب البعيد (RDP) في الجهاز الظاهري/الجهاز الذي تريد إضافته إلى المجموعة.

  4. انسخ أو قم بتنزيل الحزمة المستقلة ل Service Fabric ل Windows Server إلى الجهاز الظاهري/الجهاز وقم بفك ضغط الحزمة.

  5. قم بتشغيل PowerShell بامتيازات مرتفعة وانتقل إلى موقع الحزمة التي تم فك ضغطها.

  6. قم بتشغيل البرنامج النصي AddNode.ps1 مع المعلمات التي تصف العقدة الجديدة المراد إضافتها. يضيف المثال التالي عقدة جديدة تسمى VM5، مع النوع NodeType0 وعنوان IP 182.17.34.52، إلى UD1 وfd:/dc1/r0. ExistingClusterConnectionEndPoint هي نقطة نهاية اتصال لعقدة موجودة بالفعل في الكتلة الموجودة، والتي يمكن أن تكون عنوان IP ExistingClusterConnectionEndPoint عقدة في المجموعة.

    غير آمن (النماذج الأولية):

    .\AddNode.ps1 -NodeName VM5 -NodeType NodeType0 -NodeIPAddressorFQDN 182.17.34.52 -ExistingClientConnectionEndpoint 182.17.34.50:19000 -UpgradeDomain UD1 -FaultDomain fd:/dc1/r0 -AcceptEULA
    

    آمن (قائم على الشهادة):

    $CertThumbprint= "***********************"
    
    .\AddNode.ps1 -NodeName VM5 -NodeType NodeType0 -NodeIPAddressorFQDN 182.17.34.52 -ExistingClientConnectionEndpoint 182.17.34.50:19000 -UpgradeDomain UD1 -FaultDomain fd:/dc1/r0 -X509Credential -ServerCertThumbprint $CertThumbprint  -AcceptEULA
    
    

    عند انتهاء تشغيل البرنامج النصي، يمكنك التحقق مما إذا كان قد تمت إضافة العقدة الجديدة عن طريق تشغيل cmdlet Get-ServiceFabricNode .

  7. لضمان الاتساق عبر العقد المختلفة في المجموعة، يجب عليك بدء ترقية التكوين. قم بتشغيل Get-ServiceFabricClusterConfiguration للحصول على أحدث ملف تكوين وإضافة العقدة المضافة حديثا إلى قسم "العقد". يوصى أيضا بتوفر أحدث تكوين لنظام المجموعة دائما في حالة احتياجك إلى إعادة نشر مجموعة لها نفس التكوين.

     {
         "nodeName": "vm5",
         "iPAddress": "182.17.34.52",
         "nodeTypeRef": "NodeType0",
         "faultDomain": "fd:/dc1/r0",
         "upgradeDomain": "UD1"
     }
    
  8. قم بتشغيل Start-ServiceFabricClusterConfigurationUpgrade لبدء الترقية.

    Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
    

    يمكنك مراقبة تقدم الترقية على Service Fabric Explorer. بدلا من ذلك، يمكنك تشغيل Get-ServiceFabricClusterUpgrade.

إضافة عقد إلى المجموعات التي تم تكوينها باستخدام أمن Windows باستخدام gMSA

بالنسبة إلى المجموعات التي تم تكوينها باستخدام حساب الخدمة المدارة للمجموعة(gMSA)(https://technet.microsoft.com/library/hh831782.aspx)، يمكن إضافة عقدة جديدة باستخدام ترقية التكوين:

  1. قم بتشغيل Get-ServiceFabricClusterConfiguration على أي من العقد الموجودة للحصول على أحدث ملف تكوين وإضافة تفاصيل حول العقدة الجديدة التي تريد إضافتها في قسم "العقد". تأكد من أن العقدة الجديدة جزء من الحساب المدار للمجموعة نفسها. يجب أن يكون هذا الحساب مسؤولا على جميع الأجهزة.

     	{
     	    "nodeName": "vm5",
     	    "iPAddress": "182.17.34.52",
     	    "nodeTypeRef": "NodeType0",
     	    "faultDomain": "fd:/dc1/r0",
     	    "upgradeDomain": "UD1"
     	}
    
  2. قم بتشغيل Start-ServiceFabricClusterConfigurationUpgrade لبدء الترقية.

     Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
    

    يمكنك مراقبة تقدم الترقية على Service Fabric Explorer. بدلا من ذلك، يمكنك تشغيل Get-ServiceFabricClusterUpgrade

إضافة أنواع العقد إلى مجموعتك

لإضافة نوع عقدة جديد، قم بتعديل التكوين الخاص بك لتضمين نوع العقدة الجديد في قسم "NodeTypes" ضمن "خصائص" وبدء ترقية التكوين باستخدام Start-ServiceFabricClusterConfigurationUpgrade. بمجرد اكتمال الترقية، يمكنك إضافة عقد جديدة إلى مجموعتك باستخدام نوع العقدة هذا.

إزالة العقد من مجموعتك

يمكن إزالة عقدة من مجموعة باستخدام ترقية تكوين، بالطريقة التالية:

  1. قم بتشغيل Get-ServiceFabricClusterConfiguration للحصول على أحدث ملف تكوين وإزالة العقدة من قسم "العقد". أضف المعلمة "NodesToBeRemove " إلى قسم "الإعداد" داخل قسم "FabricSettings". يجب أن تكون "القيمة" قائمة مفصولة بفواصل من أسماء العقد للعقد التي تحتاج إلى إزالتها.

     	 "fabricSettings": [
     	    {
     		"name": "Setup",
     		"parameters": [
     		    {
     			"name": "FabricDataRoot",
     			"value": "C:\\ProgramData\\SF"
     		    },
     		    {
     			"name": "FabricLogRoot",
     			"value": "C:\\ProgramData\\SF\\Log"
     		    },
     		    {
     			"name": "NodesToBeRemoved",
     			"value": "vm0, vm1"
     		    }
     		]
     	    }
     	]
    
  2. قم بتشغيل Start-ServiceFabricClusterConfigurationUpgrade لبدء الترقية.

     Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
    
    

    يمكنك مراقبة تقدم الترقية على Service Fabric Explorer. بدلا من ذلك، يمكنك تشغيل Get-ServiceFabricClusterUpgrade.

ملاحظة

قد تؤدي إزالة العقد إلى بدء ترقيات متعددة. يتم تمييز بعض العقد بعلامة IsSeedNode=”true” ويمكن تحديدها عن طريق الاستعلام عن بيان الكتلة باستخدام Get-ServiceFabricClusterManifest. قد تستغرق إزالة هذه العقد وقتا أطول من غيرها حيث سيتعين نقل عقد البذور في مثل هذه السيناريوهات. يجب أن تحتفظ المجموعة بما لا يقل عن 3 عقد من نوع العقدة الأساسية.

إزالة أنواع العقد من مجموعتك

قبل إزالة نوع عقدة، تحقق مما إذا كانت هناك أي عقد تشير إلى نوع العقدة. قم بإزالة هذه العقد قبل إزالة نوع العقدة المقابل. بمجرد إزالة كافة العقد المقابلة، يمكنك إزالة NodeType من تكوين الكتلة وبدء ترقية التكوين باستخدام Start-ServiceFabricClusterConfigurationUpgrade.

استبدال العقد الأساسية للمجموعة

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

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