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
Logga in på Azure-portalen
Gå till översiktssidan för klusterresursen.
Välj
Node types
under avsnittetSettings
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!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
Logga in på Azure-portalen
Gå till översiktssidan för klusterresursen.
Välj
Node types
under avsnittetSettings
Välj det
Node Type
du vill ta bort och väljDelete
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.
Logga in på Azure-portalen
Gå till översiktssidan för klusterresursen.
Välj
Node Types
under avsnittetSettings
Välj den
Node type name
du vill ändraGranska och uppdatera egenskaper för nodtyp om det behövs.
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 count
ellerScale 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 duSave
längst upp.Manuell skalning: Justera till det
Node count
nya värde du vill ha och väljSave
högst upp. I den här skärmbilden justerades3
värdet till5
.
Välj
Apply
längst ned för att konfigurera de sparade inställningarna för nodtypen.Visar statusen
Provisioning state
Updating
tills den är klar. När det är klart visasSucceeded
det igen.
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
enableAutoOSUpgrade
på true - 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.
Logga in på Azure-portalen
Gå till översiktssidan för klusterresursen.
Välj
Node Types
under avsnittetSettings
Välj den
Node type name
du vill ändraOS Image
Justera till det nya värde du vill ha och väljApply
längst ned. ! [Exempel som visar ändring av OS-avbildningen][change-os-image]Visar status
Updating
förProvisioning state
och utför en uppgraderingsdomän i taget. När det är klart visasSucceeded
det igen.
Ä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.
Logga in på Azure-portalen
Gå till översiktssidan för klusterresursen.
Välj
Node Types
under avsnittetSettings
Välj den
Node type name
du vill ändraI avsnittet
Placement properties
lägger du till det namn och värde du vill ha och väljerApply
längst ned. I den här skärmbildenName
SSD_Premium
användes medValue
förtrue
.Visar statusen
Provisioning state
Updating
tills den är klar. När det är klart visasSucceeded
det igen.
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"
}
}