توزيع نظام مجموعة مُدارة من Service Fabric مع أنواع العقد عديمة الحالة

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

  • لا يمكن تكوين أنواع العقد الأساسية لتكون عديمة الحالة.
  • تتطلب أنواع العقد عديمة الحالة إصدار واجهة برمجة التطبيقات (API) 2021-05-01 أو إصدار أحدث.
  • سيؤدي هذا إلى تعيين الخاصية multipleplacementgroup إلى true والتي يمكنك معرفة المزيد عنها هنا. تنطبق متطلبات وقيود مجموعة مقياس الجهاز الظاهري الأساسية لتمكين هذه الخاصية على أنظمة المجموعات المدارة بواسطة Service Fabric.
  • يتيح هذا الدعم لما يصل إلى 1000 عقدة لنوع العقدة المحدد.
  • يمكن لأنواع العقد عديمة الحالة استخدام القرص المؤقت VM SKU (وحدة حفظ المخزون للجهاز الظاهري).

تمكين أنواع العقد عديمة الحالة في نظام مجموعة مُدارة من Service Fabric

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

تتوفر عينات القوالب: Service Fabric Stateless Node types template

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

تمكين أنواع العقد عديمة الحالة باستخدام Spot VMs في مجموعة مدارة بواسطة Service Fabric

تتيح Azure Spot Virtual Machines على مجموعات تغيير الحجم للمستخدمين الاستفادة من سعة الحوسبة غير المستخدمة مع توفير كبير في التكلفة. في أي وقت تحتاج فيه Azure إلى استعادة السعة، تقوم البنية الأساسية ل Azure بإخلاء مثيلات Azure Spot Virtual Machine هذه. لذلك، تعد أنواع عقدة Spot VM رائعة بالنسبة لأحمال العمل التي يمكنها التعامل مع الانقطاعات ولا يلزم إكمالها خلال إطار زمني محدد. تتضمن أحمال العمل الموصى بها التطوير والاختبار ووظائف المعالجة المجمعة والبيانات الضخمة أو سيناريوهات أخرى عديمة الحالة على نطاق واسع.

لتعيين نوع واحد أو أكثر من أنواع العقد عديمة الحالة لاستخدام Spot VM، عيِّن كل من الخاصيتين isStateless وIsSpotVM على true. عند نشر مجموعة Service Fabric مع أنواع العقد عديمة الحالة، يلزم أن يكون لها نوع عقدة أساسي واحد على الأقل، وهو ليس عديم الحالة في نظام المجموعة. أنواع العُقد عديمة الحالة المكوّنة لاستخدام أجهزة Spot الظاهرية لها "نهج إخلاء" مُعيّن على "حذف". يمكن للعملاء تكوين "نهج الإخلاء" ليكون "حذف" أو "إلغاء تخصيص" ولكن يمكن تعريف هذا فقط في وقت إنشاء نوع العقدة.

تتوفر نماذج القوالب: قالب أنواع عُقد Spot لـ "تصميم الخدمة"

  • يجب أن يكون apiVersion لمورد نظام المجموعة يديره "تصميم الخدمة" 2022-06-01-إصدارًا أوليًا أو أحدث.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "IsSpotVM": true,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

تمكين Spot VMs مع محاولة الاستعادة

يُمكّن هذا التكوين النظام الأساسي من محاولة استعادة أجهزة Spot الظاهرية التي جرى إخلاؤها تلقائيًا. راجع مستند مجموعة مقياس الجهاز الظاهري للاطلاع على التفاصيل. يمكن تمكين هذا التكوين فقط على أنواع العقد الموضعية الجديدة عن طريق تحديد spotRestoreTimeout، وهي مدة زمنية ISO 8601 لها قيمة بين 30 و2880 دقيقة. سيحاول النظام الأساسي استعادة الأجهزة الظاهرية لهذه المدة بعد الإخلاء.

{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "IsSpotVM": true,
    "evictionPolicy": "deallocate",
    "spotRestoreTimeout": "PT30M",
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

تكوين أنواع العقد عديمة الحالة لمرونة المنطقة

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

إشعار

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

دعم القرص المؤقت

يمكن تكوين أنواع العقد عديمة الحالة لاستخدام القرص المؤقت كقرص بيانات بدلاً من القرص المُدار. يمكن أن يؤدي استخدام قرص مؤقت إلى تقليل تكاليف أحمال العمل عديمة الحالة. لتكوين نوع عقدة عديمة الحالة لاستخدام القرص المؤقت، اضبط الخاصية useTempDataDisk على true.

  • يجب أن يكون حجم القرص المؤقت 32 غيغابايت أو أكثر. يعتمد حجم القرص المؤقت على حجم الجهاز الظاهري.
  • لا يتم تشفير القرص المؤقت بواسطة التشفير من جانب الخادم إلا إذا قمت بتمكين التشفير في المضيف.
  • يجب أن يكون apiVersion مورد نظام المجموعة المدار بواسطة Service Fabric هو 2022-01-01 أو إصدار أحدث.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "useTempDataDisk": true
  }
}

الانتقال إلى استخدام أنواع العقد عديمة الحالة في نظام مجموعة

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

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

لمعرفة المزيد عن أنظمة المجموعات المُدارة من Service Fabric، راجع: