Типы узлов Azure Service Fabric и масштабируемые наборы виртуальных машин
Масштабируемые наборы виртуальных машин являются вычислительными ресурсами Azure. Их можно использовать для развертывания коллекций виртуальных машин и управления ими в качестве набора. Каждый тип узла, определенный в кластере Azure Service Fabric, позволяет настроить ровно один масштабируемый набор: несколько типов узлов не могут поддерживаться одним и тем же масштабируемым набором, и один тип узла не должен поддерживаться несколькими масштабируемыми наборами.
Среда выполнения Service Fabric устанавливается на каждой виртуальной машине в масштабируемом наборе с помощью расширения виртуальной машины Microsoft.Azure.ServiceFabric. Все типы узлов можно масштабировать независимо друг от друга, изменять номер SKU операционной системы, работающей на узле кластера, открывать разные наборы портов и использовать различные метрики производительности.
На следующем рисунке показан кластер с двумя типами узлов, которые называются FrontEnd и BackEnd. Каждый тип узла имеет пять узлов.
Сопоставление экземпляров масштабируемых наборов виртуальных машин с узлами
Как показано на предыдущем рисунке, экземпляры масштабируемого набора начинаются с экземпляра 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, как показано на следующем рисунке:
Расширение виртуальной машины 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 и данных приложений. |
Следующие шаги
- Дополнительные сведения о возможности развертывания в любом месте и сравнении с кластерами под управлением Azure см. в статье Создание кластеров Service Fabric в Windows Server или Linux.
- Дополнительные сведения о безопасности кластеров см. в статье Сценарии защиты кластера Service Fabric.
- Удаленное подключение к определенному экземпляру масштабируемого набора.
- Обновление значений диапазона портов RDP в кластере виртуальных машин после развертывания
- Обновление имени пользователя и пароля администратора для виртуальных машин кластера