Vertikální navýšení kapacity primárního typu uzlu clusteru Service Fabric
Tento článek popisuje, jak vertikálně navýšit kapacitu primárního typu uzlu clusteru Service Fabric s minimálními výpadky. Místní upgrady skladových položek nejsou podporované v uzlech clusteru Service Fabric, protože tyto operace mohou zahrnovat ztrátu dat a dostupnosti. Nejbezpečnější, nejspolehlivější a doporučovanou metodou vertikálního navýšení kapacity uzlu typu Service Fabric je:
Přidejte do clusteru Service Fabric nový typ uzlu podporovaný upgradovanou (nebo upravenou) skladovou položkou a konfigurací škálovací sady virtuálních počítačů. Tento krok také zahrnuje nastavení nového nástroje pro vyrovnávání zatížení, podsítě a veřejné IP adresy pro škálovací sadu.
Jakmile původní i upgradované škálovací sady běží vedle sebe, zakažte jednu po druhé původní instance uzlů, aby se systémové služby (nebo repliky stavových služeb) migrovaly do nové škálovací sady.
Ověřte, že cluster a nové uzly jsou v pořádku, a pak odeberte původní škálovací sadu (a související prostředky) a stav uzlu odstraněných uzlů.
Následující postup vás provede procesem aktualizace velikosti virtuálního počítače a operačního systému virtuálních počítačů typu primárního uzlu v ukázkovém clusteru se stříbrnou odolností, která je zajištěna jednou škálovací sadou s pěti uzly. Budeme upgradovat primární typ uzlu:
- Z Standard_D2_V2 velikosti virtuálního počítače na standardní D4_V2 a
- Z operačního systému virtuálního počítače s Windows Serverem 2019 Datacenter na Windows Server 2022 Datacenter.
Upozornění
Před pokusem o tento postup v produkčním clusteru doporučujeme prostudovat si ukázkové šablony a ověřit proces v testovacím clusteru. Cluster také může být po krátkou dobu nedostupný.
Nepokoušejte se vertikálně navyšovat kapacitu primárního uzlu, pokud stav clusteru není v pořádku, protože tím se cluster ještě více stabilizuje.
Podrobné šablony nasazení Azure, které použijeme k dokončení tohoto ukázkového scénáře upgradu, jsou k dispozici na GitHubu.
Nastavení testovacího clusteru
Pojďme nastavit počáteční testovací cluster Service Fabric. Nejprve si stáhněte ukázkové šablony Azure Resource Manager, které použijeme k dokončení tohoto scénáře.
Pak se přihlaste ke svému účtu Azure.
# Sign in to your Azure account
Login-AzAccount -SubscriptionId "<subscription ID>"
Pak otevřete soubor parameters.json a aktualizujte hodnotu pro clusterName
na něco jedinečného (v rámci Azure).
Následující příkazy vás provedou vygenerováním nového certifikátu podepsaného svým držitelem a nasazením testovacího clusteru. Pokud už máte certifikát, který chcete použít, přejděte k části Použití existujícího certifikátu k nasazení clusteru.
Vygenerování certifikátu podepsaného svým držitelem a nasazení clusteru
Nejprve přiřaďte proměnné, které potřebujete pro nasazení clusteru Service Fabric. Upravte hodnoty pro resourceGroupName
, certSubjectName
, parameterFilePath
a templateFilePath
pro váš konkrétní účet a prostředí:
# Assign deployment variables
$resourceGroupName = "sftestupgradegroup"
$certOutputFolder = "c:\certificates"
$certPassword = "Password!1" | ConvertTo-SecureString -AsPlainText -Force
$certSubjectName = "sftestupgrade.southcentralus.cloudapp.azure.com"
$parameterFilePath = "C:\parameters.json"
$templateFilePath = "C:\Initial-TestClusterSetup.json"
Poznámka
Před spuštěním certOutputFolder
příkazu k nasazení nového clusteru Service Fabric se ujistěte, že umístění existuje na místním počítači.
Pak nasaďte testovací cluster Service Fabric:
# Deploy the initial test cluster
New-AzServiceFabricCluster `
-ResourceGroupName $resourceGroupName `
-CertificateOutputFolder $certOutputFolder `
-CertificatePassword $certPassword `
-CertificateSubjectName $certSubjectName `
-TemplateFile $templateFilePath `
-ParameterFile $parameterFilePath
Po dokončení nasazení vyhledejte soubor .pfx ($certPfx
) na místním počítači a naimportujte ho do úložiště certifikátů:
cd c:\certificates
$certPfx = ".\sftestupgradegroup20200312121003.pfx"
Import-PfxCertificate `
-FilePath $certPfx `
-CertStoreLocation Cert:\CurrentUser\My `
-Password (ConvertTo-SecureString Password!1 -AsPlainText -Force)
Operace vrátí kryptografický otisk certifikátu, který teď můžete použít k připojení k novému clusteru a ke kontrole jeho stavu. (Následující část přeskočte, což je alternativní přístup k nasazení clusteru.)
Použití existujícího certifikátu k nasazení clusteru
Alternativně můžete k nasazení testovacího clusteru použít existující certifikát Azure Key Vault. K tomu potřebujete získat odkazy na Key Vault a kryptografický otisk certifikátu.
# Key Vault variables
$certUrlValue = "https://sftestupgradegroup.vault.azure.net/secrets/sftestupgradegroup20200309235308/dac0e7b7f9d4414984ccaa72bfb2ea39"
$sourceVaultValue = "/subscriptions/########-####-####-####-############/resourceGroups/sftestupgradegroup/providers/Microsoft.KeyVault/vaults/sftestupgradegroup"
$thumb = "BB796AA33BD9767E7DA27FE5182CF8FDEE714A70"
Dále určete název skupiny prostředků pro cluster a nastavte templateFilePath
umístění a parameterFilePath
:
Poznámka
Určená skupina prostředků už musí existovat a musí být umístěná ve stejné oblasti jako váš Key Vault.
$resourceGroupName = "sftestupgradegroup"
$templateFilePath = "C:\Initial-TestClusterSetup.json"
$parameterFilePath = "C:\parameters.json"
Nakonec spuštěním následujícího příkazu nasaďte počáteční testovací cluster:
# Deploy the initial test cluster
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFilePath `
-TemplateParameterFile $parameterFilePath `
-CertificateThumbprint $thumb `
-CertificateUrlValue $certUrlValue `
-SourceVaultValue $sourceVaultValue `
-Verbose
Připojení k novému clusteru a kontrola stavu
Připojte se ke clusteru a ujistěte se, že všech pět jeho uzlů je v pořádku (proměnné a thumb
nahraďte clusterName
vlastními hodnotami):
# Connect to the cluster
$clusterName = "sftestupgrade.southcentralus.cloudapp.azure.com:19000"
$thumb = "BB796AA33BD9767E7DA27FE5182CF8FDEE714A70"
Connect-ServiceFabricCluster `
-ConnectionEndpoint $clusterName `
-KeepAliveIntervalInSec 10 `
-X509Credential `
-ServerCertThumbprint $thumb `
-FindType FindByThumbprint `
-FindValue $thumb `
-StoreLocation CurrentUser `
-StoreName My
# Check cluster health
Get-ServiceFabricClusterHealth
Teď jsme připraveni zahájit postup upgradu.
Nasazení nového primárního typu uzlu s upgradovanou škálovací sadou
Abychom mohli upgradovat (vertikálně škálovat) typ uzlu, musíme nejprve nasadit nový typ uzlu, který je podporovaný novou škálovací sadou a podpůrnými prostředky. Nová škálovací sada se označí jako primární (isPrimary: true
) stejně jako původní škálovací sada. Pokud chcete vertikálně navýšit kapacitu jiného než primárního typu uzlu, přečtěte si téma Vertikální navýšení kapacity clusteru Service Fabric, který není primárním typem uzlu. Prostředky vytvořené v následující části se nakonec stanou novým primárním typem uzlu ve vašem clusteru a původní prostředky primárního typu uzlu se odstraní.
Aktualizace šablony clusteru pomocí upgradované škálovací sady
Tady jsou úpravy původní šablony nasazení clusteru v jednotlivých oddílech pro přidání nového primárního typu uzlu a podpůrných prostředků.
Požadované změny pro tento krok už byly provedeny v souboru šablony Step1-AddPrimaryNodeType.json a následující část tyto změny podrobně vysvětluje. Pokud chcete, můžete vysvětlení přeskočit a pokračovat v získávání Key Vault odkazů a nasadit aktualizovanou šablonu, která do clusteru přidá nový primární typ uzlu.
Poznámka
Ujistěte se, že používáte názvy, které jsou jedinečné z původního typu uzlu, škálovací sady, nástroje pro vyrovnávání zatížení, veřejné IP adresy a podsítě původního primárního typu uzlu, protože tyto prostředky se v pozdějším kroku procesu odstraní.
Vytvoření nové podsítě ve stávající virtuální síti
{
"name": "[variables('subnet1Name')]",
"properties": {
"addressPrefix": "[variables('subnet1Prefix')]"
}
}
Vytvoření nové veřejné IP adresy s jedinečnou doménou DomainNameLabel
{
"apiVersion": "[variables('publicIPApiVersion')]",
"type": "Microsoft.Network/publicIPAddresses",
"name": "[concat(variables('lbIPName'),'-',variables('vmNodeType1Name'))]",
"location": "[variables('computeLocation')]",
"properties": {
"dnsSettings": {
"domainNameLabel": "[concat(variables('dnsName'),'-','nt1')]"
},
"publicIPAllocationMethod": "Dynamic"
},
"tags": {
"resourceType": "Service Fabric",
"clusterName": "[parameters('clusterName')]"
}
}
Vytvoření nového nástroje pro vyrovnávání zatížení pro veřejnou IP adresu
"dependsOn": [
"[concat('Microsoft.Network/publicIPAddresses/',concat(variables('lbIPName'),'-',variables('vmNodeType1Name')))]"
]
Vytvoření nové škálovací sady virtuálních počítačů (s upgradovanými skladovými jednotkami virtuálních počítačů a operačních systémů)
Odkaz na typ uzlu
"nodeTypeRef": "[variables('vmNodeType1Name')]"
Skladová položka virtuálního počítače
"sku": {
"name": "[parameters('vmNodeType1Size')]",
"capacity": "[parameters('nt1InstanceCount')]",
"tier": "Standard"
}
SKU operačního systému
"imageReference": {
"publisher": "[parameters('vmImagePublisher1')]",
"offer": "[parameters('vmImageOffer1')]",
"sku": "[parameters('vmImageSku1')]",
"version": "[parameters('vmImageVersion1')]"
}
Pokud měníte skladovou položku operačního systému v clusteru s Linuxem
V clusteru s Windows je hodnota vlastnosti vmImage "Windows", zatímco hodnota stejné vlastnosti pro cluster s Linuxem je název použité image operačního systému. Příklad: Ubuntu20_04(použijte název nejnovější image virtuálního počítače).
Pokud tedy měníte image virtuálního počítače (SKU operačního systému) v clusteru s Linuxem, aktualizujte nastavení vmImage také u prostředku clusteru Service Fabric.
#Update the property vmImage with the required OS name in your ARM template
{
"vmImage": "[parameter(newVmImageName]”
}
Poznámka: Příklad newVmImageName: Ubuntu20_04
Prostředek clusteru můžete také aktualizovat pomocí následujícího příkazu PowerShellu:
# Update cluster vmImage to target OS. This registers the SF runtime package type that is supplied for upgrades.
Update-AzServiceFabricVmImage -ResourceGroupName $resourceGroup -ClusterName $clusterName -VmImage Ubuntu20_04
Nezapomeňte také zahrnout všechna další rozšíření, která jsou pro vaši úlohu nutná.
Přidání nového primárního typu uzlu do clusteru
Když teď má nový typ uzlu (vmNodeType1Name) vlastní název, podsíť, IP adresu, nástroj pro vyrovnávání zatížení a škálovací sadu, může znovu použít všechny ostatní proměnné z původního typu uzlu (například nt0applicationEndPort
, nt0applicationStartPort
a nt0fabricTcpGatewayPort
):
"name": "[variables('vmNodeType1Name')]",
"applicationPorts": {
"endPort": "[variables('nt0applicationEndPort')]",
"startPort": "[variables('nt0applicationStartPort')]"
},
"clientConnectionEndpointPort": "[variables('nt0fabricTcpGatewayPort')]",
"durabilityLevel": "Bronze",
"ephemeralPorts": {
"endPort": "[variables('nt0ephemeralEndPort')]",
"startPort": "[variables('nt0ephemeralStartPort')]"
},
"httpGatewayEndpointPort": "[variables('nt0fabricHttpGatewayPort')]",
"isPrimary": true,
"reverseProxyEndpointPort": "[variables('nt0reverseProxyEndpointPort')]",
"vmInstanceCount": "[parameters('nt1InstanceCount')]"
Po implementaci všech změn v šabloně a souborech parametrů přejděte k další části, kde získáte odkazy na Key Vault a nasadíte aktualizace do clusteru.
Získání referencí Key Vault
Pokud chcete nasadit aktualizovanou konfiguraci, potřebujete několik odkazů na certifikát clusteru uložený v Key Vault. Nejjednodušší způsob, jak tyto hodnoty najít, je pomocí Azure Portal. Budete potřebovat:
Adresa URL Key Vault certifikátu clusteru. V Key Vault v Azure Portal vyberte Certifikáty> Požadovanýidentifikátor tajného klíčecertifikátu>:
$certUrlValue="https://sftestupgradegroup.vault.azure.net/secrets/sftestupgradegroup20200309235308/dac0e7b7f9d4414984ccaa72bfb2ea39"
Kryptografický otisk certifikátu clusteru. (Pokud jste se připojili k počátečnímu clusteru, abyste zkontrolovali jeho stav, pravděpodobně už certifikát máte.) Ze stejného okna certifikátu (Certifikáty>požadovaný certifikát) v Azure Portal zkopírujte kryptografický otisk X.509 SHA-1 (v šestnáctkovém formátu):
$thumb = "BB796AA33BD9767E7DA27FE5182CF8FDEE714A70"
ID prostředku vašeho Key Vault. V Key Vault v Azure Portal vyberte Vlastnosti>ID prostředku:
$sourceVaultValue = "/subscriptions/########-####-####-####-############/resourceGroups/sftestupgradegroup/providers/Microsoft.KeyVault/vaults/sftestupgradegroup"
Nasazení aktualizované šablony
templateFilePath
Podle potřeby upravte a spusťte následující příkaz:
# Deploy the new node type and its resources
$templateFilePath = "C:\Step1-AddPrimaryNodeType.json"
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFilePath `
-TemplateParameterFile $parameterFilePath `
-CertificateThumbprint $thumb `
-CertificateUrlValue $certUrlValue `
-SourceVaultValue $sourceVaultValue `
-Verbose
Po dokončení nasazení znovu zkontrolujte stav clusteru a ujistěte se, že jsou všechny uzly v obou typech uzlů v pořádku.
Get-ServiceFabricClusterHealth
Migrace počátečních uzlů na nový typ uzlu
Teď jsme připraveni aktualizovat původní typ uzlu na neprimární a začít zakazovat jeho uzly. Při zakázání uzlů se systémové služby a počáteční uzly clusteru migrují do nové škálovací sady.
Zrušení označení původního typu uzlu jako primárního
Nejprve odeberte isPrimary
označení v šabloně z původního typu uzlu.
{
"isPrimary": false,
}
Pak nasaďte šablonu s aktualizací. Toto nasazení zahájí migraci počátečních uzlů do nové škálovací sady.
$templateFilePath = "C:\Step2-UnmarkOriginalPrimaryNodeType.json"
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFilePath `
-TemplateParameterFile $parameterFilePath `
-CertificateThumbprint $thumb `
-CertificateUrlValue $certUrlValue `
-SourceVaultValue $sourceVaultValue `
-Verbose
Poznámka
Dokončení migrace počátečního uzlu do nové škálovací sady bude nějakou dobu trvat. Chcete-li zajistit konzistenci dat, může se najednou měnit pouze jeden počáteční uzel. Každá změna počátečního uzlu vyžaduje aktualizaci clusteru. Proto nahrazení počátečního uzlu vyžaduje dva upgrady clusteru (každý jeden pro přidání a odebrání uzlu). Upgrade pěti počátečních uzlů v tomto ukázkovém scénáři povede k deseti upgradům clusteru.
Pomocí Service Fabric Explorer můžete monitorovat migraci počátečních uzlů do nové škálovací sady. Uzly původního typu uzlu (nt0vm) by měly mít ve sloupci Je počáteční uzelhodnotu false a uzly nového typu uzlu (nt1vm) by měly mít hodnotu true.
Zakázání uzlů ve škálovací sadě původního typu uzlu
Po migraci všech počátečních uzlů do nové škálovací sady můžete uzly původní škálovací sady zakázat.
# Disable the nodes in the original scale set.
$nodeType = "nt0vm"
$nodes = Get-ServiceFabricNode
Write-Host "Disabling nodes..."
foreach($node in $nodes)
{
if ($node.NodeType -eq $nodeType)
{
$node.NodeName
Disable-ServiceFabricNode -Intent RemoveNode -NodeName $node.NodeName -Force
}
}
Pomocí Service Fabric Explorer můžete monitorovat průběh uzlů v původní škálovací sadě ze stavu Zakázáno do stavu Zakázáno.
V případě stříbrné a zlaté odolnosti přejdou některé uzly do zakázaného stavu, zatímco jiné můžou zůstat ve stavu zákazu . V Service Fabric Explorer zkontrolujte kartu Podrobnosti uzlů ve stavu Zakázání. Pokud se zobrazí čekající bezpečnostní kontrolatypu EnsurePartitionQuorem (zajištění kvora pro oddíly služby infrastruktury), je bezpečné pokračovat.
Pokud je váš cluster bronzový, počkejte, až se všechny uzly dostanou do zakázaného stavu.
Zastavení dat na zakázaných uzlech
Teď můžete zastavit data na zakázaných uzlech.
# Stop data on the disabled nodes.
foreach($node in $nodes)
{
if ($node.NodeType -eq $nodeType)
{
$node.NodeName
Start-ServiceFabricNodeTransition -Stop -OperationId (New-Guid) -NodeInstanceId $node.NodeInstanceId -NodeName $node.NodeName -StopDurationInSeconds 10000
}
}
Odeberte původní typ uzlu a vyčistěte jeho prostředky.
Jsme připraveni odebrat původní typ uzlu a jeho přidružené prostředky, abychom mohli dokončit postup vertikálního škálování.
Odebrání původní škálovací sady
Nejprve odeberte záložní škálovací sadu typu uzlu.
$scaleSetName = "nt0vm"
$scaleSetResourceType = "Microsoft.Compute/virtualMachineScaleSets"
Remove-AzResource -ResourceName $scaleSetName -ResourceType $scaleSetResourceType -ResourceGroupName $resourceGroupName -Force
Odstranění původní IP adresy a prostředků nástroje pro vyrovnávání zatížení
Teď můžete odstranit původní IP adresu a prostředky nástroje pro vyrovnávání zatížení. V tomto kroku také aktualizujete název DNS.
Poznámka
Tento krok je volitelný, pokud už používáte veřejnou IP adresu a nástroj pro vyrovnávání zatížení se skladovou položkou Standard . V takovém případě můžete mít ve stejném nástroji pro vyrovnávání zatížení několik typů škálovacích sad nebo uzlů.
Spusťte následující příkazy a upravte $lbname
hodnotu podle potřeby.
# Delete the original IP and load balancer resources
$lbName = "LB-sftestupgrade-nt0vm"
$lbResourceType = "Microsoft.Network/loadBalancers"
$ipResourceType = "Microsoft.Network/publicIPAddresses"
$oldPublicIpName = "PublicIP-LB-FE-nt0vm"
$newPublicIpName = "PublicIP-LB-FE-nt1vm"
$oldPrimaryPublicIP = Get-AzPublicIpAddress -Name $oldPublicIpName -ResourceGroupName $resourceGroupName
$primaryDNSName = $oldPrimaryPublicIP.DnsSettings.DomainNameLabel
$primaryDNSFqdn = $oldPrimaryPublicIP.DnsSettings.Fqdn
Remove-AzResource -ResourceName $lbName -ResourceType $lbResourceType -ResourceGroupName $resourceGroupName -Force
Remove-AzResource -ResourceName $oldPublicIpName -ResourceType $ipResourceType -ResourceGroupName $resourceGroupName -Force
$PublicIP = Get-AzPublicIpAddress -Name $newPublicIpName -ResourceGroupName $resourceGroupName
$PublicIP.DnsSettings.DomainNameLabel = $primaryDNSName
$PublicIP.DnsSettings.Fqdn = $primaryDNSFqdn
Set-AzPublicIpAddress -PublicIpAddress $PublicIP
Odebrání stavu uzlu z původního typu uzlu
U uzlů původního typu uzlu se teď u jejich stavu zobrazí chyba. Odeberte stav uzlu z clusteru.
# Remove state of the obsolete nodes from the cluster
$nodeType = "nt0vm"
$nodes = Get-ServiceFabricNode
Write-Host "Removing node state..."
foreach($node in $nodes)
{
if ($node.NodeType -eq $nodeType)
{
$node.NodeName
Remove-ServiceFabricNodeState -NodeName $node.NodeName -Force
}
}
Service Fabric Explorer by teď mělo odrážet pouze pět uzlů nového typu uzlu (nt1vm), všechny s hodnotami stavu OK. Stav clusteru se bude i nadále zobrazovat Chyba. V dalším kroku to napravíme aktualizací šablony tak, aby odrážela nejnovější změny, a opětovným nasazením.
Aktualizace šablony nasazení tak, aby odrážela nově škálovaný typ primárního uzlu
Požadované změny pro tento krok už byly provedeny v souboru šablony Step3-CleanupOriginalPrimaryNodeType.json a následující části tyto změny šablony podrobně vysvětlují. Pokud chcete, můžete vysvětlení přeskočit a pokračovat v nasazení aktualizované šablony a dokončit kurz.
Aktualizace koncového bodu správy clusteru
Aktualizujte cluster managementEndpoint
v šabloně nasazení tak, aby odkazoval na novou IP adresu (aktualizací vmNodeType0Name na vmNodeType1Name).
"managementEndpoint": "[concat('https://',reference(concat(variables('lbIPName'),'-',variables('vmNodeType1Name'))).dnsSettings.fqdn,':',variables('nt0fabricHttpGatewayPort'))]",
Odebrání odkazu na původní typ uzlu
Odeberte původní odkaz na typ uzlu z prostředku Service Fabric v šabloně nasazení:
"name": "[variables('vmNodeType0Name')]",
"applicationPorts": {
"endPort": "[variables('nt0applicationEndPort')]",
"startPort": "[variables('nt0applicationStartPort')]"
},
"clientConnectionEndpointPort": "[variables('nt0fabricTcpGatewayPort')]",
"durabilityLevel": "Bronze",
"ephemeralPorts": {
"endPort": "[variables('nt0ephemeralEndPort')]",
"startPort": "[variables('nt0ephemeralStartPort')]"
},
"httpGatewayEndpointPort": "[variables('nt0fabricHttpGatewayPort')]",
"isPrimary": true,
"reverseProxyEndpointPort": "[variables('nt0reverseProxyEndpointPort')]",
"vmInstanceCount": "[parameters('nt0InstanceCount')]"
Konfigurace zásad stavu tak, aby ignorovaly existující chyby
Pouze v případě clusterů Se stříbřitou a vyšší odolností aktualizujte prostředek clusteru v šabloně a nakonfigurujte zásady stavu tak, aby ignorovaly fabric:/System
stav aplikace, a to přidáním applicationDeltaHealthPolicies do vlastností prostředků clusteru, jak je uvedeno níže. Následující zásady budou ignorovat stávající chyby, ale nepovolí nové chyby stavu.
"upgradeDescription":
{
"forceRestart": false,
"upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807",
"healthCheckWaitDuration": "00:05:00",
"healthCheckStableDuration": "00:05:00",
"healthCheckRetryTimeout": "00:45:00",
"upgradeTimeout": "12:00:00",
"upgradeDomainTimeout": "02:00:00",
"healthPolicy": {
"maxPercentUnhealthyNodes": 100,
"maxPercentUnhealthyApplications": 100
},
"deltaHealthPolicy":
{
"maxPercentDeltaUnhealthyNodes": 0,
"maxPercentUpgradeDomainDeltaUnhealthyNodes": 0,
"maxPercentDeltaUnhealthyApplications": 0,
"applicationDeltaHealthPolicies":
{
"fabric:/System":
{
"defaultServiceTypeDeltaHealthPolicy":
{
"maxPercentDeltaUnhealthyServices": 0
}
}
}
}
}
Odebrání podpůrných prostředků pro původní typ uzlu
Odeberte všechny ostatní prostředky související s původním typem uzlu ze šablony ARM a ze souboru parametrů. Odstraňte následující položky:
"vmImagePublisher": {
"value": "MicrosoftWindowsServer"
},
"vmImageOffer": {
"value": "WindowsServer"
},
"vmImageSku": {
"value": "2019-Datacenter"
},
"vmImageVersion": {
"value": "latest"
},
Nasazení finalizované šablony
Nakonec nasaďte upravenou šablonu Azure Resource Manager.
# Deploy the updated template file
$templateFilePath = "C:\Step3-CleanupOriginalPrimaryNodeType"
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFilePath `
-TemplateParameterFile $parameterFilePath `
-CertificateThumbprint $thumb `
-CertificateUrlValue $certUrlValue `
-SourceVaultValue $sourceVaultValue `
-Verbose
Poznámka
Tento krok bude chvíli trvat, obvykle až dvě hodiny.
Upgrade změní nastavení na InfrastructureService. proto je nutné restartovat uzel. V tomto případě se forceRestart ignoruje. Parametr upgradeReplicaSetCheckTimeout
určuje maximální dobu, po kterou Service Fabric čeká, než bude oddíl v bezpečném stavu, pokud ještě není v bezpečném stavu. Jakmile projdou bezpečnostní kontroly pro všechny oddíly na uzlu, Service Fabric pokračuje v upgradu na daném uzlu. Hodnotu parametru upgradeTimeout
lze snížit na 6 hodin, ale pro maximální bezpečnost by se mělo použít 12 hodin.
Po dokončení nasazení ověřte v Azure Portal, že stav prostředku Service Fabric je Připraveno. Ověřte, že se můžete připojit k novému koncovému bodu Service Fabric Explorer, stav clusteru je v pořádku a že všechny nasazené aplikace fungují správně.
Teď jste vertikálně škálovali primární typ uzlu clusteru.
Další kroky
- Informace o přidání typu uzlu do clusteru
- Seznamte se se škálovatelností aplikací.
- Škálování clusteru Azure na více nebo více instancí
- Škálování clusteru Azure prostřednictvím kódu programu s využitím sady Fluent Azure Compute SDK
- Škálování samostatného clusteru na více nebo více instancí