Ridimensionare un cluster di Service Fabric aggiungendo un set di scalabilità di macchine virtuali

Questo articolo descrive come ridimensionare un cluster di Azure Service Fabric aggiungendo un nuovo tipo di nodo a un cluster esistente. Un cluster di Service Fabric è un set connesso alla rete di macchine virtuali o fisiche in cui i microservizi vengono distribuiti e gestiti. Un computer o una macchina virtuale che fa parte di un cluster è detto nodo. I set di scalabilità di macchine virtuali sono una risorsa di calcolo di Azure usata per distribuire e gestire una raccolta di macchine virtuali come set. Ogni tipo di nodo definito in un cluster di Azure viene configurato come set di scalabilità separato. Ogni tipo di nodo può quindi essere gestito separatamente. Dopo aver creato un cluster di Service Fabric, è possibile ridimensionare un cluster orizzontalmente aggiungendo un nuovo tipo di nodo (set di scalabilità di macchine virtuali) a un cluster esistente. È possibile ridimensionare il cluster in qualsiasi momento, anche quando i carichi di lavoro sono in esecuzione nel cluster. Man mano che il cluster viene ridimensionato, anche le applicazioni vengono ridimensionate automaticamente.

Aggiungere un set di scalabilità aggiuntivo a un cluster esistente

L'aggiunta di un nuovo tipo di nodo (supportato da un set di scalabilità di macchine virtuali) a un cluster esistente è simile all'aggiornamento del tipo di nodo primario, ad eccezione del fatto che non si userà lo stesso NodeTypeRef; ovviamente non disabiliterà i set di scalabilità di macchine virtuali usati attivamente e non si perderà la disponibilità del cluster se non si aggiorna il tipo di nodo primario.

La proprietà NodeTypeRef viene dichiarata all'interno delle proprietà dell'estensione Service Fabric del set di scalabilità di macchine virtuali:

<snip>
"publisher": "Microsoft.Azure.ServiceFabric",
     "settings": {
     "clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
     "nodeTypeRef": "[parameters('vmNodeType2Name')]",
     "dataPath": "D:\\\\SvcFab",
     "durabilityLevel": "Silver",
<snip>

È anche necessario aggiungere questo nuovo tipo di nodo alla risorsa cluster di Service Fabric:

<snip>
"nodeTypes": [
      {
      "name": "[parameters('vmNodeType2Name')]",
      "applicationPorts": {
                "endPort": "[parameters('nt2applicationEndPort')]",
                "startPort": "[parameters('nt2applicationStartPort')]"
      },
      "clientConnectionEndpointPort": "[parameters('nt2fabricTcpGatewayPort')]",
      "durabilityLevel": "Silver",
       "ephemeralPorts": {
                "endPort": "[parameters('nt2ephemeralEndPort')]",
                "startPort": "[parameters('nt2ephemeralStartPort')]"
      },
      "httpGatewayEndpointPort": "[parameters('nt2fabricHttpGatewayPort')]",
      "isPrimary": false,
      "vmInstanceCount": "[parameters('nt2InstanceCount')]"
},
<snip>

Passaggi successivi