Типы узлов Azure Service Fabric и масштабируемые наборы виртуальных машин

Масштабируемые наборы виртуальных машин являются вычислительными ресурсами Azure. Их можно использовать для развертывания коллекций виртуальных машин и управления ими в качестве набора. Каждый тип узла, определенный в кластере Azure Service Fabric, позволяет настроить ровно один масштабируемый набор: несколько типов узлов не могут поддерживаться одним и тем же масштабируемым набором, и один тип узла не должен поддерживаться несколькими масштабируемыми наборами.

Среда выполнения Service Fabric устанавливается на каждой виртуальной машине в масштабируемом наборе с помощью расширения виртуальной машины Microsoft.Azure.ServiceFabric. Все типы узлов можно масштабировать независимо друг от друга, изменять номер SKU операционной системы, работающей на узле кластера, открывать разные наборы портов и использовать различные метрики производительности.

На следующем рисунке показан кластер с двумя типами узлов, которые называются FrontEnd и BackEnd. Каждый тип узла имеет пять узлов.

A cluster that has two node types

Сопоставление экземпляров масштабируемых наборов виртуальных машин с узлами

Как показано на предыдущем рисунке, экземпляры масштабируемого набора начинаются с экземпляра 0, а затем увеличиваются на 1. Нумерация узлов отражается в именах. Например, узел BackEnd_0 является нулевым экземпляром масштабируемого набора BackEnd. Этот конкретный масштабируемый набор имеет пять экземпляров с именами BackEnd_0, BackEnd_1, BackEnd_2, BackEnd_3 и BackEnd_4.

При горизонтальном увеличении масштаба масштабируемого набора создается экземпляр. Имя нового экземпляра масштабируемого набора, как правило, состоит из имени масштабируемого набора и номера следующего экземпляра. В нашем примере это BackEnd_5.

Сопоставление балансировщиков нагрузки масштабируемых наборов с типами узлов и масштабируемыми наборами

При развертывании кластера на портале Azure или использовании примера шаблона Azure Resource Manager перечисляются все ресурсы в группе ресурсов. Отображаются балансировщики нагрузки для каждого масштабируемого набора или типа узла. Имя балансировщика нагрузки имеет следующий формат: LB-<имя типа узла>, например LB-sfcluster4doc-0, как показано на следующем рисунке:

Screenshot shows a resource group with two load balancers highlighted.

Расширение виртуальной машины Service Fabric

Расширение виртуальной машины Service Fabric используется для начальной загрузки Service Fabric на виртуальные машины Azure и настройки безопасности узла.

Ниже приведен фрагмент кода расширения виртуальной машины Service Fabric.

"extensions": [
  {
    "name": "[concat('ServiceFabricNodeVmExt','_vmNodeType0Name')]",
    "properties": {
      "type": "ServiceFabricLinuxNode",
      "autoUpgradeMinorVersion": true,
      "enableAutomaticUpgrade": true,
      "protectedSettings": {
        "StorageAccountKey1": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('supportLogStorageAccountName')),'2015-05-01-preview').key1]",
       },
       "publisher": "Microsoft.Azure.ServiceFabric",
       "settings": {
         "clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
         "nodeTypeRef": "[variables('vmNodeType0Name')]",
         "durabilityLevel": "Silver",
         "enableParallelJobs": true,
         "nicPrefixOverride": "[variables('subnet0Prefix')]",
         "dataPath": "D:\\\\SvcFab",
         "certificate": {
           "commonNames": [
             "[parameters('certificateCommonName')]"
           ],
           "x509StoreName": "[parameters('certificateStoreValue')]"
         }
       },
       "typeHandlerVersion": "2.0"
     }
   },

Ниже приведены описания свойств.

Имя Допустимые значения Рекомендация или краткое описание
name строка Уникальное имя расширения.
type ServiceFabricLinuxNode или ServiceFabricNode Идентифицирует ОС Service Fabric для начальной загрузки.
autoUpgradeMinorVersion true или false Использование последней дополнительной версии расширения во время развертывания
enableAutomaticUpgrade true или false Автоматическое обновление расширения после доступности основной версии. Доступно только для типа ServiceFabricLinuxNode
издатель Microsoft.Azure.ServiceFabric Имя издателя расширения Service Fabric.
clusterEndpoint строка Порт URI для конечной точки управления.
nodeTypeRef строка Имя nodeType
durabilityLevel bronze, silver, gold, platinum Время, в течение которого допускается приостановка работы неизменяемой инфраструктуры Azure.
enableParallelJobs true или false Активация задач Compute ParallelJobs, например удаление виртуальной машины и перезагрузка виртуальной машины в том же масштабируемом наборе параллельно.
nicPrefixOverride строка Префикс подсети, например 10.0.0.0/24
commonNames string[] Распространенные имена установленных сертификатов кластера.
x509StoreName строка Имя хранилища, в котором находится установленный сертификат кластера.
typeHandlerVersion 1,1 Версия расширения. Классическую версию 1.0 расширения рекомендуется обновить до 1.1.
dataPath строка Путь к диску, используемому для сохранения состояния системных служб Service Fabric и данных приложений.

Следующие шаги