如何在部署后更新服务结构的节点类型

时间:2016-03-08 12:48:56

标签: azure-service-fabric

部署后有没有办法更新服务结构集群的节点类型?

我想动态地向群集添加新的vm scaleset,但如果我无法在服务结构群集中添加新的节点类型 - 则无法为此新的vm scaleset创建新的放置约束。

1 个答案:

答案 0 :(得分:0)

我发现无法使用最新的ARM服务结构提供商。但是使用较旧的,有可能。

armclient put /subscriptions/8393a037-5d39-462d-a583-09915b4493df/resourceGroups/ServiceFabricTest3/providers/Microsoft.ServiceFabric/clusters/pksservicefabric?api-version=2015-01-01-alpha @test.json

我学到的一些东西是,下面的test.json文件必须有

  • 其managementEndpoint给出
  • expectedVmResources应仅提供其主节点。
  • 无法提供实例计数。

这让我相信ARM提供商还有一段路要走。

{
  "location": "West Europe",
  "properties": {
    "managementEndpoint": "https://pksservicefabric.westeurope.cloudapp.azure.com:19080",
    "certificate": {
      "thumbprint": "4B729ADE19BF2742BB09BB257C6BD8538DBDB1A4",
      "x509StoreName": "My"
    },
    "nodeTypes": [
      {
        "name": "nt1vm",
        "clientConnectionEndpointPort": 19000,
        "httpGatewayEndpointPort": 19080,
        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
        "ephemeralPorts": {
          "startPort": 49152,
          "endPort": 65534
        },
        "isPrimary": true
      },
      {
        "name": "nt2vm",
        "clientConnectionEndpointPort": 19000,
        "httpGatewayEndpointPort": 19080,
        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
        "ephemeralPorts": {
          "startPort": 49152,
          "endPort": 65534
        },
        "isPrimary": false
      },
      {
        "name": "nt3vm",
        "clientConnectionEndpointPort": 19000,
        "httpGatewayEndpointPort": 19080,
        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
        "ephemeralPorts": {
          "startPort": 49152,
          "endPort": 65534
        },
        "isPrimary": false
      },
      {
        "name": "algorithm-a0",
        "clientConnectionEndpointPort": 19000,
        "httpGatewayEndpointPort": 19080,
        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
        "ephemeralPorts": {
          "startPort": 49152,
          "endPort": 65534
        },
        "isPrimary": false
      },
      {
        "name": "algorithm-a1",
        "clientConnectionEndpointPort": 19000,
        "httpGatewayEndpointPort": 19080,
        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
        "ephemeralPorts": {
          "startPort": 49152,
          "endPort": 65534
        },
        "isPrimary": false
      },
      {
        "name": "algorithm-a2",
        "clientConnectionEndpointPort": 19000,
        "httpGatewayEndpointPort": 19080,
        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
        "ephemeralPorts": {
          "startPort": 49152,
          "endPort": 65534
        },
        "isPrimary": false
      },
      {
        "name": "algorithm-a3",
        "clientConnectionEndpointPort": 19000,
        "httpGatewayEndpointPort": 19080,
        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
        "ephemeralPorts": {
          "startPort": 49152,
          "endPort": 65534
        },
        "isPrimary": false
      },
      {
        "name": "algorithm-a4",
        "clientConnectionEndpointPort": 19000,
        "httpGatewayEndpointPort": 19080,
        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
        "ephemeralPorts": {
          "startPort": 49152,
          "endPort": 65534
        },
        "isPrimary": false
      },
      {
        "name": "algorithm-a5",
        "clientConnectionEndpointPort": 19000,
        "httpGatewayEndpointPort": 19080,
        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
        "ephemeralPorts": {
          "startPort": 49152,
          "endPort": 65534
        },
        "isPrimary": false
      },
      {
        "name": "algorithm-a6",
        "clientConnectionEndpointPort": 19000,
        "httpGatewayEndpointPort": 19080,
        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
        "ephemeralPorts": {
          "startPort": 49152,
          "endPort": 65534
        },
        "isPrimary": false
      }
    ],
    "expectedVmResources": [
      {
        "name": "nt1vm",
        "nodeTypeRef": "nt1vm",
        "vmInstanceCount": 5,
        "isVmss": true
      }
    ]
  }
}