Service Fabric-hanterade klusternodtyper

En vm-skalningsuppsättning backar varje nodtyp i ett Service Fabric-hanterat kluster. Med hanterade kluster gör du alla nödvändiga ändringar via Service Fabric-resursprovidern för hanterade kluster. Den hanterade klusterprovidern skapar och abstraherar alla underliggande resurser för klustret åt dig. Att låta resursprovidern hantera resurserna hjälper till att förenkla distribution och hantering av klusternodtyper. Hantering förhindrar åtgärdsfel som att ta bort en startnod och hjälper dig att tillämpa metodtips, till exempel att verifiera en virtuell dators SKU är säkert att använda.

Resten av det här dokumentet beskriver hur du justerar olika inställningar, inklusive:

  • Skapa en nodtyp
  • Justera antalet instanser av nodtyp
  • Aktivera automatiska os-avbildningsuppgraderingar
  • Ändra OS-avbildningen
  • Konfigurera placeringsegenskaper
  • Ange datornamnprefix

Det här dokumentet fokuserar på att använda Azure Portal- och Azure Resource Manager-mallar för att göra ändringar.

Viktigt!

För närvarande stöder inte Service Fabric Managed Clusters anpassade OS-avbildningar.

Kommentar

Du kommer inte att kunna ändra nodtypen när en ändring pågår. Vi rekommenderar att du låter alla begärda ändringar slutföras innan du gör en annan.

Lägg till en nodtyp

Du kan lägga till en nodtyp i ett Service Fabric-hanterat kluster via portalen, en Azure Resource Manager-mall eller PowerShell.

Lägg till med portalen

Kommentar

Du kan bara lägga till sekundära nodtyper med hjälp av portalen

  1. Logga in på Azure-portalen

  2. Gå till översiktssidan för klusterresursen. Exempel på översiktssida

  3. Välj Node types under avsnittet SettingsVyn Nodtyper

  4. Välj Add längst upp, fyll i nödvändig information och välj sedan Lägg till längst ned, det är allt!

  5. Vänta tills det nya nodtyptillägget har slutförts

Lägg till med en ARM-mall

Lägg till en annan resurstyp Microsoft.ServiceFabric/managedclusters/nodetypes med de värden som krävs och gör en klusterdistribution för att inställningen ska börja gälla.

  • Den hanterade Service Fabric-klusterresursen apiVersion ska vara 2021-05-01 eller senare.
  • Ange till isPrimary true om du tänker ersätta en befintlig primär nodtyp.
{
    "apiVersion": "[variables('sfApiVersion')]",
    "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
    "name": "[concat(parameters('clusterName'), '/', parameters('nodeType2Name'))]",
    "location": "[resourcegroup().location]",
    "dependsOn": [
        "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
    ],
    "properties": {
        "isPrimary": false,
        "vmImagePublisher": "[parameters('vmImagePublisher')]",
        "vmImageOffer": "[parameters('vmImageOffer')]",
        "vmImageSku": "[parameters('vmImageSku')]",
        "vmImageVersion": "[parameters('vmImageVersion')]",
        "vmSize": "[parameters('nodeType2VmSize')]",
        "vmInstanceCount": "[parameters('nodeType2VmInstanceCount')]",
        "dataDiskSizeGB": "[parameters('nodeType2DataDiskSizeGB')]",
        "dataDiskType": "[parameters('nodeType2managedDataDiskType')]"
    }
}

Ett exempel på konfiguration av två noder finns i arm-mallen med två noder.

Lägg till med PowerShell

Om du vill skapa en ny nodtyp måste du definiera följande egenskaper:

  • Resursgrupp: Resursgrupp som klustret finns i
  • Klusternamn: Namnet på det hanterade klustret
  • Namn på nodtyp: Namn som är unikt från alla befintliga nodtyper i klustret.
  • Antal instanser: Initialt antal noder av den nya nodtypen.
  • VM-storlek: VM SKU för noderna. Om det inte anges används standardvärdet Standard_D2 .

Kommentar

Om du lägger till en primär nodtyp måste egenskapen -Primary användas.

$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "nt2"
$vmSize = "Standard_D2_v2"

New-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -Name $nodeTypeName -InstanceCount 3 -vmSize $vmSize

Ta bort en nodtyp

Du kan ta bort en Service Fabric-hanterad klusternodtyp med hjälp av portalen eller PowerShell.

Kommentar

Om du vill ta bort en primär nodtyp från ett Service Fabric-hanterat kluster måste du använda PowerShell och det måste finnas fler än en primär nodtyp tillgänglig.

Ta bort med portalen

  1. Logga in på Azure-portalen

  2. Gå till översiktssidan för klusterresursen. Exempel på översiktssida

  3. Välj Node types under avsnittet SettingsVyn Nodtyper

  4. Välj det Node Type du vill ta bort och välj Delete längst upp.

Ta bort med PowerShell

Kommentar

Om du tar bort en primär nodtyp för scenarier som att uppgradera SKU:n tar det flera timmar och förloppet kan övervakas med hjälp av SFX. Startnoder migrerar en nod per uppgraderingsdomän (UD) i taget.

Om du vill ta bort en nodtyp måste du definiera följande egenskaper:

  • Resursgrupp: Resursgrupp som klustret finns i
  • Klusternamn: Namnet på det hanterade klustret
  • Namn på nodtyp: Namn som är unikt från alla befintliga nodtyper i klustret.
$resourceGroup = "myResourceGroup"
$clusterName = "myCluster"
$nodeTypeName = "nt2"

Remove-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName  -Name $nodeTypeName

Skala en nodtyp

Du kan skala en Service Fabric-hanterad klusternodtyp med portalen, ARM-mallen eller PowerShell. Du kan också konfigurera autoskalning för en sekundär nodtyp om du vill ha en helt automatiserad lösning.

Kommentar

  • En primär nodtyp kan inte ställas in på automatisk skalning och du kan bara ställa in den på manuell skalning.
  • För den primära nodtypen kommer du inte att kunna gå under 3 noder för ett Basic SKU-kluster och 5 noder för ett Standard SKU-kluster.

Skala med hjälp av portalen

I den här genomgången lär du dig hur du ändrar antalet noder för en nodtyp med hjälp av portalen.

  1. Logga in på Azure-portalen

  2. Gå till översiktssidan för klusterresursen. Exempel på översiktssida

  3. Välj Node Types under avsnittet Settings

  4. Välj den Node type name du vill ändra

  5. Granska och uppdatera egenskaper för nodtyp om det behövs.

Exempel som visar en ökning av antalet noder

  1. Välj Manage node type scaling för att konfigurera skalningsinställningarna och välj mellan anpassade autoskalningsalternativ och manuella skalningsalternativ. Autoskalning är en inbyggd funktion som hjälper program att prestera sitt bästa när efterfrågan ändras. Du kan välja att skala resursen manuellt till ett visst instansantal eller via en anpassad autoskalningsprincip som skalar baserat på måtttrösklar. Du kan också schemalägga antalet instanser som ska skalas under angivna tidsfönster. Läs mer om Autoskalning i Azure eller visa videon med instruktioner.

    • Anpassad autoskalning: Välj lämplig scale mode för att definiera den anpassade autoskalningsprincipen – Scale to a specific instance counteller Scale based on a metric. Det senare baseras på regler för måttutlösare, till exempel öka antalet instanser med 1 när CPU-procentandelen är över 70 %. När du har definierat principen väljer du Save längst upp.

      Exempel som visar inställningen för automatisk skalning

    • Manuell skalning: Justera till det Node count nya värde du vill ha och välj Save högst upp. I den här skärmbilden justerades 3 värdet till 5.

      Exempel som visar manuell skalningsinställning

    Välj Apply längst ned för att konfigurera de sparade inställningarna för nodtypen.

  2. Visar statusen Provisioning state Updating tills den är klar. När det är klart visas Succeeded det igen. Exempel som visar en uppdatering av nodtyp

Skala en nodtyp med en mall

Om du vill justera antalet noder för en nodtyp med hjälp av en ARM-mall justerar vmInstanceCount du egenskapen med det nya värdet och gör en klusterdistribution för att inställningen ska börja gälla. Klustret börjar uppgradera automatiskt. Du ser de ytterligare noderna när de är klara.

  • Den hanterade Service Fabric-klusterresursen apiVersion ska vara 2021-05-01 eller senare.

Kommentar

Den hanterade klusterprovidern blockerar skalningsjusteringar och returnerar ett fel om skalningsbegäran bryter mot minimikraven.

{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    ...
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    ...
  }
}

Skala en nodtyp med PowerShell

Ändra antalet instanser för att öka eller minska antalet noder på den nodtyp som du vill skala. Du hittar nodtypnamn i Azure Resource Manager-mallen (ARM-mall) från klusterdistributionen eller i Service Fabric Explorer.

$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "FE"
$instanceCount = "7"

Set-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -name $nodeTypeName -InstanceCount $instanceCount -Verbose

Klustret börjar uppgradera automatiskt. Du ser de ytterligare noderna när de är klara.

Aktivera automatiska os-avbildningsuppgraderingar

Du kan välja att aktivera automatiska operativsystemavbildningsuppgraderingar till de virtuella datorer som kör dina hanterade klusternoder. Även om vm-skalningsuppsättningsresurserna hanteras för din räkning med Service Fabric-hanterade kluster, är det ditt val att aktivera automatiska operativsystemavbildningsuppgraderingar för dina klusternoder. Precis som med klassiska Service Fabric-kluster uppgraderas inte hanterade klusternoder som standard för att förhindra oavsiktliga störningar i klustret.

Kommentar

Automatisk uppgradering av os-avbildningar stöds för både Marketplace och anpassade avbildningar.

Så här aktiverar du automatiska OS-uppgraderingar:

  • Använd apiVersion 2021-05-01 eller senare version av Microsoft.ServiceFabric/managedclusters och Microsoft.ServiceFabric/managedclusters/nodetypes-resurser
  • Ställ in klustrets egenskap enableAutoOSUpgradetrue
  • Ange klusternodens resursegenskap vmImageVersion till den senaste

Till exempel:

    {
      "apiVersion": "[variables('sfApiVersion')]",
      "type": "Microsoft.ServiceFabric/managedclusters",
      ...
      "properties": {
        ...
        "enableAutoOSUpgrade": true
      },
    },
    {
      "apiVersion": "[variables('sfApiVersion')]",
      "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
       ...
      "properties": {
        ...
        "vmImageVersion": "latest",
        ...
      }
    }
}

När den är aktiverad börjar Service Fabric köra frågor mot och spåra os-avbildningsversioner i det hanterade klustret. Om en ny os-version är tillgänglig uppgraderas klusternodtyperna (vm-skalningsuppsättningar) en i taget. Service Fabric-körningsuppgraderingar utförs endast efter att ingen uppgradering av klusternodens OS-avbildning pågår.

Om en uppgradering misslyckas försöker Service Fabric igen efter 24 timmar för högst tre återförsök. På samma sätt som klassiska (ohanterade) Service Fabric-uppgraderingar kan ej felfria appar eller noder blockera uppgraderingen av operativsystemavbildningen.

Mer information om avbildningsuppgraderingar finns i Automatiska os-avbildningsuppgraderingar med Skalningsuppsättningar för virtuella Azure-datorer.

Ändra OS SKU för en nodtyp

Med Service Fabric-hanterade kluster kan du ändra OS SKU för en nodtyp på plats. Den här processen är användbar för scenarier som att migrera från Windows 2019 till Windows 2022 eller om du vill växla till en SKU för server (Core) jämfört med Server med SKU för skrivbordsmiljö.

Ändra OS SKU med portalen

I den här genomgången får du lära dig hur du ändrar OS-avbildningen för en nodtyp med hjälp av portalen.

  1. Logga in på Azure-portalen

  2. Gå till översiktssidan för klusterresursen. Exempel på översiktssida

  3. Välj Node Types under avsnittet Settings

  4. Välj den Node type name du vill ändra

  5. OS Image Justera till det nya värde du vill ha och välj Apply längst ned. ! [Exempel som visar ändring av OS-avbildningen][change-os-image]

  6. Visar status Updating för Provisioning state och utför en uppgraderingsdomän i taget. När det är klart visas Succeeded det igen. Exempel som visar en uppdatering av nodtyp

Ändra OS SKU med en mall

Om du vill ändra os-avbildningen som används för en nodtyp med hjälp av en ARM-mall justerar vmImageSku du egenskapen med det nya värdet och gör en klusterdistribution för att inställningen ska börja gälla. Den hanterade klusterprovidern återskapar varje instans genom att uppgradera domänen.

  • Den hanterade Service Fabric-klusterresursen apiVersion ska vara 2021-05-01 eller senare.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    ...
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    ...
  }
}

Konfigurera placeringsegenskaper för en nodtyp

Placeringsegenskaper används för att säkerställa att vissa arbetsbelastningar endast körs på vissa nodtyper i klustret. Service Fabric-hanterade kluster stöder konfiguration av dessa egenskaper via portalen, ARM-mallen eller PowerShell.

Konfigurera placeringsegenskaper med portalen

I den här genomgången får du lära dig hur du ändrar en placeringsegenskap för en nodtyp med hjälp av portalen.

  1. Logga in på Azure-portalen

  2. Gå till översiktssidan för klusterresursen. Exempel på översiktssida

  3. Välj Node Types under avsnittet Settings

  4. Välj den Node type name du vill ändra

  5. I avsnittet Placement properties lägger du till det namn och värde du vill ha och väljer Apply längst ned. I den här skärmbilden Name SSD_Premium användes med Value för true. Exempel som visar hur du lägger till en placeringsegenskap

  6. Visar statusen Provisioning state Updating tills den är klar. När det är klart visas Succeeded det igen. Exempel som visar en uppdatering av nodtyp

Konfigurera placeringsegenskaper med en mall

Om du vill justera placeringsegenskaperna för en nodtyp med hjälp av en ARM-mall justerar placementProperties du egenskapen med ett eller flera nya värden och gör en klusterdistribution för att inställningen ska börja gälla. Följande exempel visar tre värden som anges för en nodtyp.

  • Den hanterade Service Fabric-klusterresursen apiVersion ska vara 2021-05-01 eller senare.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    "placementProperties": {
      "PremiumSSD": "true",
      "NodeColor": "green",
      "SomeProperty": "5"
    }
  }
}

Konfigurera placeringsegenskaper med PowerShell

I följande exempel uppdateras och skrivs eventuella befintliga placeringsegenskaper över för en viss nodtyp.

$rgName = "testRG"
$clusterName = "testCluster"
$NodeTypeName = "nt1"
Set-AzServiceFabricManagedNodeType -ResourceGroupName $rgName -ClusterName $clusterName -name $NodeTypeName -PlacementProperty @{NodeColor="Red";SomeProperty="6";} -Verbose

Ändra vm-SKU:n för en nodtyp

Om du vill ändra storleken på den virtuella datorns SKU som används för en nodtyp med hjälp av en ARM-mall justerar vmSize du egenskapen med det nya värdet och gör en klusterdistribution för att inställningen ska börja gälla. Den hanterade klusterprovidern återskapar varje instans genom att uppgradera domänen. En lista över SKU-alternativ finns i VM-storlekar – Azure Virtual Machines | Microsoft Learn.

{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    ...
    "vmSize": "[parameters('vmImageVersion')]",
    ...
  }
}

Konfigurera flera hanterade diskar

Service Fabric-hanterade kluster konfigurerar som standard en hanterad disk. Genom att konfigurera följande valfria egenskap och värden kan du lägga till fler hanterade diskar i nodtyper i ett kluster. Du kan ange enhetsbeteckning, disktyp och storlek per disk.

Konfigurera fler hanterade diskar genom att additionalDataDisks deklarera egenskapen och obligatoriska parametrar i Resource Manager-mallen på följande sätt:

Funktionskrav

  • Lun måste vara unikt per disk och kan inte använda reserverad lun 0 eller 1
  • Diskbeteckningen kan inte använda reserverade bokstäver C eller D och kan inte ändras när den har skapats. S används som standard om det inte anges.
  • Måste ange en disktyp som stöds
  • Den hanterade Service Fabric-klusterresursen apiVersion ska vara 2022-01-01 eller senare.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    "additionalDataDisks": {
      "lun": "2",
      "diskSizeGB": "50",
      "diskType": "Standard_LRS",
      "diskLetter": "S" 
    }
  }
}

Se en fullständig lista över tillgängliga parametrar.

Konfigurera service fabric-datadiskens enhetsbeteckning

Service Fabric-hanterade kluster konfigurerar som standard en Service Fabric-datadisk och konfigurerar automatiskt enhetsbeteckningen på alla noder av en nodtyp. Genom att konfigurera den här valfria egenskapen och värdet kan du ange och hämta Service Fabric-datadiskbeteckningen om du har specifika krav för mappning av enhetsbeteckning.

Funktionskrav

  • Diskbeteckningen kan inte använda reserverade bokstäver C eller D och kan inte ändras när den har skapats. S används som standard om det inte anges.
  • Den hanterade Service Fabric-klusterresursen apiVersion ska vara 2022-01-01 eller senare.
{
  {
    "apiVersion": "[variables('sfApiVersion')]",
    "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
    "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
    "location": "[resourcegroup().location]",
    "properties": {
      "dataDiskLetter": "S"
    }
  }
}

Ange datornamnsprefix

Kunder som behöver längre namn för sin nodtyp för mer utförlig beskrivning drar nytta av datornamnsprefixet.

Kommentar

Datornamnprefixet fungerar endast för Service Fabric API-versionen 2024-04-01 or later.

Implementera följande ARM-malländringar för att ange datornamnprefixet:

{
  "apiVersion": "2024-04-01",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', 'BE-testResourceGroup-testRegion-test')]",
  "location": "[parameters('clusterLocation')]",
  "dependsOn": [
      "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isPrimary": false,
    "dataDiskSizeGB": "[parameters('dataDiskSizeGB')]",
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('vmSize')]",
    "vmInstanceCount": "[parameters('vmInstanceCount')]",
    "computerNamePrefix": "computerNamePrefix"
  }
} 

Nästa steg