Поддержка расширения масштабируемого набора виртуальных машин в типах узлов управляемого кластера Service Fabric

Каждому типу узла в кластере Service Fabric в Azure соответствует масштабируемый набор виртуальных машин. Это позволяет добавлять расширения масштабируемых наборов виртуальных машин в типы узлов управляемого кластера Service Fabric. Расширения — это небольшие приложения, которые выполняют на виртуальных машинах Azure задачи конфигурации и автоматизации после развертывания для ролей. На платформе Azure доступно множество расширений, в число которых входят приложения для конфигурации, мониторинга, безопасности виртуальных машин, а также служебные приложения. Издатели переносят приложение в расширение, чтобы упростить установку. Все, что вам нужно, — предоставить обязательные параметры.

Добавление расширения масштабируемого набора виртуальных машин

Для добавления расширения в тип узла управляемого кластера Service Fabric можно использовать команду PowerShell Add-AzServiceFabricManagedNodeTypeVMExtension.

Кроме того, можно добавить расширение масштабируемого набора виртуальных машин в типе узла управляемого кластера Service Fabric в шаблоне Azure Resource Manager, например:

{
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "apiVersion": "[variables('sfApiVersion')]",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "location": "[resourceGroup().location]",
  "properties": {
    "isPrimary": true,
    ...
    "vmExtensions": [
      {
        "name": "KvExtension",
        "properties": {
          "publisher": "Microsoft.Azure.KeyVault",
          "type": "KeyVaultForWindows",
          "typeHandlerVersion": "3.0",
          "autoUpgradeMinorVersion": true,
          "settings": {
            "secretsManagementSettings": {
              "observedCertificates": [
                ...
              ]
            }
          }
        }
      }
    ]
  }
}

Подробнее о настройке типов узлов управляемого кластера Service Fabric см. в разделе о типе узла управляемого кластера.

Подготовка перед средой выполнения Service Fabric

Чтобы подготовить расширения перед запуском среды выполнения Service Fabric, можно использовать setupOrder параметр со значением BeforeSFRuntime в свойствах расширения для каждого расширения по мере необходимости. Это позволяет настроить среду и зависимости перед запуском среды выполнения и приложений на узле. Дополнительные сведения см. в следующем примере:

Примечание.

Важно отметить, что если расширение, помеченное сбоем BeforeSFRuntime , не будет запускаться среда выполнения Service Fabric. Следовательно, узел будет вниз с точки зрения Service Fabric. Поэтому важно поддерживать эти расширения с правильными конфигурациями и быстро устранять любые проблемы, которые могут возникнуть, чтобы обеспечить работоспособность узлов в кластере.

Требования

Используйте версию ИЛИ более позднюю версию 2023-09-01-preview API Service Fabric.

Пример шаблона ARM:

{
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "apiVersion": "2023-09-01-preview",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "properties": {
    "isPrimary": true,
    ...
    "vmExtensions": [
        {
            "name": "KvExtension",
            "properties": {
                "setupOrder": [
                    "BeforeSFRuntime"
                ],
                "provisionAfterExtensions" [ "GenevaMonitoringExtension" ],
                "publisher": "Microsoft.Azure.KeyVault",
                "type": "KeyVaultForWindows",
                "typeHandlerVersion": "3.0",
                "autoUpgradeMinorVersion": true,
                "settings": {
                "secretsManagementSettings": {
                  "observedCertificates": [
                    ...
                  ]
                }
              }
            }
        },
        {
          "name": "GenevaMonitoringExtension",
          "properties": {
              "setupOrder": [
                    "BeforeSFRuntime"
                ],
              "autoUpgradeMinorVersion": true,
              "enableAutomaticUpgrade": true,
              "publisher": "Microsoft.Azure.Geneva",
              "type": "GenevaMonitoring",
              "typeHandlerVersion": "2.40",
              "settings": {
                "configurations": [
                  {
                    "ServiceArguments": {
                      ...
                    },
                    "UserArguments": {
                      ...
                    }
                  }
                ]
              }
          }
      }
    ]
  }
}

Примечание.

Специальная обработка расширения AzureDiskEncryption (ADE): ADE необходимо запустить перед средой выполнения Service Fabric, чтобы убедиться, что диск расшифровывается после операций повторного создания образа, позволяя среде выполнения Service Fabric начать использовать его. Даже если расширение не отмечено BeforeSFRuntimeявным образом, оно будет выполняться перед средой выполнения. Но обратите внимание, что для включения шифрования на узле рекомендуется использовать расширение ADE. Подробные инструкции см. в разделе "Включение шифрования на узле".

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

Дополнительные сведения об управляемых кластерах Service Fabric см. в статье: