Как использовать существующий масштабируемый набор в качестве узла кластера в кластере Azure Service Fabric

Я пытаюсь развернуть кластер Service Fabric с помощью шаблона ARM и присоединить существующий масштабируемый набор. Конвейер выполняется правильно, без ошибок, но когда я открываю фабрику служб на портале, отображается статус «ожидает узлов». Я не знаю, где я ошибаюсь. Я использую тот же отпечаток сертификата, который есть в масштабируемом наборе. мой сертификат хранится в KeyVault. Вот мой шаблон ARM

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "clusterName": {
            "type": "string",
            "defaultValue": "GEN-UNIQUE",
            "metadata": {
                "description": "Name of your cluster - Between 3 and 23 characters. Letters and numbers only"
            }
        },
        "clusterLocation": {
            "type": "string",
            "defaultValue": "westus",
            "metadata": {
                "description": "Location of the Cluster"
            }
        }, 
        "applicationStartPort": {
            "type": "int",
            "defaultValue": 20000
        },
        "applicationEndPort": {
            "type": "int",
            "defaultValue": 30000
        },
        "ephemeralStartPort": {
            "type": "int",
            "defaultValue": 49152
        },
        "ephemeralEndPort": {
            "type": "int",
            "defaultValue": 65534
        },
        "fabricTcpGatewayPort": {
            "type": "int",
            "defaultValue": 19000
        },
        "fabricHttpGatewayPort": {
            "type": "int",
            "defaultValue": 19080
        },
        "clusterProtectionLevel": {
            "type": "string",
            "allowedValues": [
                "None",
                "Sign",
                "EncryptAndSign"
            ],
            "defaultValue": "EncryptAndSign",
            "metadata": {
                "description": "Protection level.Three values are allowed - EncryptAndSign, Sign, None. It is best to keep the default of EncryptAndSign, unless you have a need not to"
            }
        },
        "certificateThumbprint": {
            "type": "string",
            "defaultValue": "GEN-CUSTOM-DOMAIN-SSLCERT-THUMBPRINT",
            "metadata": {
                "description": "Certificate Thumbprint"
            }
        },
        "certificateStoreValue": {
            "defaultValue": "My",
            "allowedValues": [
                "My"
            ],
            "type": "string",
            "metadata": {
                "description": "The store name where the cert will be deployed in the virtual machine"
            }
        },
        "supportLogStorageAccountName": {
            "type": "string",
            "defaultValue": "[toLower( concat('sflogs', uniqueString(resourceGroup().id),'2'))]",
            "metadata": {
                "description": "Name for the storage account that contains support logs from the cluster"
            }
        },
        "blobEndpoint":{
            "type": "string"
        },
        "queueEndpoint":{
            "type": "string"
        },
        "tableEndpoint":{
            "type": "string"
        },
        "InstanceCount": {
            "type": "int",
            "defaultValue": 5,
            "metadata": {
                "description": "Instance count for node type"
            }
        },
        "vmNodeTypeName": {
            "type": "string"
        },
        "nodeTypes":{
            "type": "array"
        },
        "lbIPName": {
            "type": "string"
        },
        "fqdn":{
            "type": "string"
        },
        "reliabilityLevel":{
            "type": "string"
        },
        "upgradeMode":{
            "type": "string"
        }
    },
    "variables":{       
        "storageApiVersion": "2016-01-01",
        "publicIPApiVersion": "2015-06-15"
        },
"resources": [
   {
    "apiVersion": "2018-02-01",
    "type": "Microsoft.ServiceFabric/clusters",
    "name": "[parameters('clusterName')]",
    "location": "[parameters('clusterLocation')]",
    "dependsOn": [],
    "properties": {
        "addonFeatures": [
            "DnsService"
        ],
        "certificate": {
            "thumbprint": "[parameters('certificateThumbprint')]",
            "x509StoreName": "[parameters('certificateStoreValue')]"
        },
        "clientCertificateCommonNames": [],
        "clientCertificateThumbprints": [],
        "clusterState": "Default",
        "diagnosticsStorageAccountConfig": {
            "storageAccountName": "[parameters('supportLogStorageAccountName')]",
            "protectedAccountKeyName": "StorageAccountKey1",
            "blobEndpoint": "[parameters('blobEndpoint')]",
            "queueEndpoint": "[parameters('queueEndpoint')]",
            "tableEndpoint": "[parameters('tableEndpoint')]"
        },
        "fabricSettings": [
            {
                "parameters": [
                    {
                        "name": "ClusterProtectionLevel",
                        "value": "[parameters('clusterProtectionLevel')]"
                    }
                ],
                "name": "Security"
            }
        ],
        "managementEndpoint": "[concat('https://',parameters('fqdn'),':',parameters('fabricHttpGatewayPort'))]",
        "nodeTypes": "[parameters('nodeTypes')]",
        "reliabilityLevel": "[parameters('reliabilityLevel')]",
        "upgradeMode": "[parameters('upgradeMode')]"
    }
   }
 ]  

}

person Nitesh Singh    schedule 17.02.2020    source источник


Ответы (1)


Для этой ошибки развертывания вы можете просмотреть эти проблемы и решения в этот блог. Это может быть вызвано проблемой отпечатка сертификата и проблемой KeyVault.

Если не повезло, попробуйте изменить размеры виртуальных машин, изменить регион узлов или просто перестроить, например, this.

Для получения дополнительной информации о развертывании SFC с сертификатом хранилища ключей вы также можете обратиться к эту статью.

person Nancy Xiong    schedule 17.02.2020
comment
можем ли мы использовать уже созданный масштабируемый набор или существующий масштабируемый набор в качестве узла в кластере Service Fabric. - person Nitesh Singh; 18.02.2020
comment
Я думаю, что мы не можем использовать существующий масштабируемый набор, поскольку нет возможности выбрать существующий масштабный набор при создании ресурсов SFC на портале Azure. См. Этот NodeTypeDescription, для этого тоже нет такого атрибута. - person Nancy Xiong; 18.02.2020
comment
это то, чего я пытаюсь достичь на прошлой неделе, и мне это не удается. Последний вопрос: сколько масштабируемых наборов или типов узлов мы можем присоединить в кластере служебной фабрики, потому что на портале мы можем присоединить максимум 3 типа узлов, если мы пытаемся развернуть его из шаблона ARM. - person Nitesh Singh; 18.02.2020
comment
Типы узлов прикрепляют максимум 3 в конфигурация кластера, он определяет номера масштабируемого набора. Но для каждого экземпляра виртуальной машины в одном типе узла это зависит от уровень надежности кластера. - person Nancy Xiong; 18.02.2020