Service Fabric-fürt elsődleges csomóponttípusának vertikális felskálázása
Ez a cikk azt ismerteti, hogyan skálázható fel a Service Fabric-fürt elsődleges csomóponttípusa minimális állásidővel. A helyszíni termékváltozat-frissítések nem támogatottak a Service Fabric-fürtcsomópontokon, mivel az ilyen műveletek adat- és rendelkezésreállási veszteséget okozhatnak. A Service Fabric-csomóponttípusok felskálázásához a legbiztonságosabb, legmegbízhatóbb és ajánlott módszer a következő:
Adjon hozzá egy új csomóponttípust a Service Fabric-fürthöz, amelyet a frissített (vagy módosított) virtuálisgép-méretezési csoport termékváltozata és konfigurációja is alátámaszt. Ez a lépés egy új terheléselosztó, alhálózat és nyilvános IP-cím beállítását is magában foglalja a méretezési csoport számára.
Ha az eredeti és a frissített méretezési csoportok is egymás mellett futnak, tiltsa le egyenként az eredeti csomópontpéldányokat, hogy a rendszerszolgáltatások (vagy az állapotalapú szolgáltatások replikái) áttelepüljenek az új méretezési csoportra.
Ellenőrizze, hogy a fürt és az új csomópontok kifogástalan állapotban vannak-e, majd távolítsa el a törölt csomópontok eredeti méretezési csoportját (és kapcsolódó erőforrásait) és csomópontállapotát.
Az alábbiakban végigvezetjük egy ezüst tartósságú mintafürt elsődleges csomópont típusú virtuális gépeinek virtuálisgép-méretének és operációs rendszerének frissítési folyamatán, amelyet egy öt csomópontból álló méretezési csoport biztosít. Az elsődleges csomóponttípust frissítjük:
- A virtuális gép méretétől Standard_D2_V2 a Standard D4_V2- és
- A Windows Server 2019 Datacenter virtuálisgép-operációs rendszertől a Windows Server 2022 Datacenterig.
Figyelmeztetés
Mielőtt megpróbálkozza ezt az eljárást egy éles fürtön, javasoljuk, hogy tanulmányozza a mintasablonokat, és ellenőrizze a folyamatot egy tesztfürtön. Előfordulhat, hogy a fürt rövid ideig nem érhető el.
Ne kísérelje meg az elsődleges csomóponttípus felskálázási eljárását, ha a fürt állapota nem megfelelő, mivel ez csak tovább destabilizálja a fürtöt.
A mintafrissítési forgatókönyv végrehajtásához használt részletes Azure-telepítési sablonok a GitHubon érhetők el.
A tesztfürt beállítása
Állítsuk be a kezdeti Service Fabric-tesztfürtöt. Először töltse le az Azure Resource Manager mintasablonjait, amelyeket a forgatókönyv végrehajtásához fogunk használni.
Ezután jelentkezzen be az Azure-fiókjába.
# Sign in to your Azure account
Login-AzAccount -SubscriptionId "<subscription ID>"
Ezután nyissa meg a parameters.json fájlt, és frissítse az értéket valami egyedire clusterName
(az Azure-ban).
Az alábbi parancsok végigvezetik egy új önaláírt tanúsítvány létrehozásán és a tesztfürt üzembe helyezésén. Ha már rendelkezik használni kívánt tanúsítvánnyal, ugorjon a meglévő tanúsítvány használata a fürt üzembe helyezéséhez.
Önaláírt tanúsítvány létrehozása és a fürt üzembe helyezése
Először rendelje hozzá a Service Fabric-fürt üzembe helyezéséhez szükséges változókat. Módosítsa az adott fiók és környezet értékeitresourceGroupName
parameterFilePath
certSubjectName
:templateFilePath
# 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"
Feljegyzés
Győződjön meg arról, hogy a certOutputFolder
hely létezik a helyi gépen, mielőtt futtatja a parancsot egy új Service Fabric-fürt üzembe helyezéséhez.
Ezután telepítse a Service Fabric tesztfürtöt:
# Deploy the initial test cluster
New-AzServiceFabricCluster `
-ResourceGroupName $resourceGroupName `
-CertificateOutputFolder $certOutputFolder `
-CertificatePassword $certPassword `
-CertificateSubjectName $certSubjectName `
-TemplateFile $templateFilePath `
-ParameterFile $parameterFilePath
Az üzembe helyezés befejezése után keresse meg a .pfx fájlt ($certPfx
) a helyi gépen, és importálja a tanúsítványtárolóba:
cd c:\certificates
$certPfx = ".\sftestupgradegroup20200312121003.pfx"
Import-PfxCertificate `
-FilePath $certPfx `
-CertStoreLocation Cert:\CurrentUser\My `
-Password (ConvertTo-SecureString Password!1 -AsPlainText -Force)
A művelet visszaadja a tanúsítvány ujjlenyomatát, amellyel mostantól csatlakozhat az új fürthöz, és ellenőrizheti annak állapotát. (Hagyja ki a következő szakaszt, amely a fürt üzembe helyezésének alternatív megközelítése.)
Meglévő tanúsítvány használata a fürt üzembe helyezéséhez
Másik lehetőségként használhat egy meglévő Azure Key Vault-tanúsítványt a tesztfürt üzembe helyezéséhez. Ehhez be kell szereznie a Key Vaultra és a tanúsítvány ujjlenyomatára mutató hivatkozásokat.
# Key Vault variables
$certUrlValue = "https://sftestupgradegroup.vault.azure.net/secrets/sftestupgradegroup20200309235308/dac0e7b7f9d4414984ccaa72bfb2ea39"
$sourceVaultValue = "/subscriptions/########-####-####-####-############/resourceGroups/sftestupgradegroup/providers/Microsoft.KeyVault/vaults/sftestupgradegroup"
$thumb = "BB796AA33BD9767E7DA27FE5182CF8FDEE714A70"
Ezután jelöljön ki egy erőforráscsoportnevet a fürt számára, és állítsa be a helyeket és parameterFilePath
a templateFilePath
helyeket:
Feljegyzés
A kijelölt erőforráscsoportnak már léteznie kell, és ugyanabban a régióban kell lennie, mint a Key Vaultnak.
$resourceGroupName = "sftestupgradegroup"
$templateFilePath = "C:\Initial-TestClusterSetup.json"
$parameterFilePath = "C:\parameters.json"
Végül futtassa a következő parancsot a kezdeti tesztfürt üzembe helyezéséhez:
# Deploy the initial test cluster
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFilePath `
-TemplateParameterFile $parameterFilePath `
-CertificateThumbprint $thumb `
-CertificateUrlValue $certUrlValue `
-SourceVaultValue $sourceVaultValue `
-Verbose
Csatlakozzon az új fürthöz, és ellenőrizze az állapotot
Csatlakozzon a fürthöz, és győződjön meg arról, hogy mind az öt csomópontja kifogástalan (cserélje le a változókat és thumb
a clusterName
saját értékeit):
# 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
Most már készen állunk a frissítési eljárás megkezdésére.
Új elsődleges csomóponttípus üzembe helyezése frissített méretezési csoporttal
A csomóponttípusok frissítéséhez (függőleges skálázás) először egy új, egy új méretezési csoporttal és támogatási erőforrásokkal támogatott csomóponttípust kell üzembe helyeznünk. Az új méretezési csoport elsődlegesként (isPrimary: true
az eredeti méretezési csoporthoz hasonlóan) lesz megjelölve. Ha nem elsődleges csomóponttípust szeretne vertikálisan felskálázni, tekintse meg a Service Fabric-fürt nem elsődleges csomóponttípusának vertikális felskálázását. A következő szakaszban létrehozott erőforrások végső soron a fürt új elsődleges csomóponttípusává válnak, és az eredeti elsődleges csomóponttípus erőforrásai törlődnek.
A fürtsablon frissítése a frissített méretezési csoporttal
Íme az eredeti fürttelepítési sablon szakaszonkénti módosítása egy új elsődleges csomóponttípus és a támogató erőforrások hozzáadásához.
A lépéshez szükséges módosításokat már elvégeztük a Step1-AddPrimaryNodeType.json sablonfájlban, és az alábbiak részletesen ismertetik ezeket a módosításokat. Ha szeretné, kihagyhatja a magyarázatot, és folytathatja a Key Vault-referenciák beszerzését, és üzembe helyezheti a frissített sablont , amely új elsődleges csomóponttípust ad hozzá a fürthöz.
Feljegyzés
Győződjön meg arról, hogy az eredeti csomóponttípustól, méretezési csoporttól, terheléselosztótól, nyilvános IP-címtől és alhálózattól egyedi neveket használ, mivel ezek az erőforrások a folyamat egy későbbi lépésében törlődnek.
Új alhálózat létrehozása a meglévő virtuális hálózaton
{
"name": "[variables('subnet1Name')]",
"properties": {
"addressPrefix": "[variables('subnet1Prefix')]"
}
}
Új nyilvános IP-cím létrehozása egyedi tartománnyalNameLabel
{
"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')]"
}
}
Új terheléselosztó létrehozása a nyilvános IP-címhez
"dependsOn": [
"[concat('Microsoft.Network/publicIPAddresses/',concat(variables('lbIPName'),'-',variables('vmNodeType1Name')))]"
]
Új virtuálisgép-méretezési csoport létrehozása (frissített virtuális gépekkel és operációsrendszer-termékváltozatokkal)
Csomóponttípus újraf
"nodeTypeRef": "[variables('vmNodeType1Name')]"
Virtuális gép termékváltozata
"sku": {
"name": "[parameters('vmNodeType1Size')]",
"capacity": "[parameters('nt1InstanceCount')]",
"tier": "Standard"
}
Operációsrendszer-termékváltozat
"imageReference": {
"publisher": "[parameters('vmImagePublisher1')]",
"offer": "[parameters('vmImageOffer1')]",
"sku": "[parameters('vmImageSku1')]",
"version": "[parameters('vmImageVersion1')]"
}
Ha linuxos fürtön módosítja az operációsrendszer-termékváltozatot
Windows-fürtön a vmImage tulajdonság értéke "Windows", míg a Linux-fürt ugyanazon tulajdonságának értéke a használt operációsrendszer-rendszerkép neve. Például : Ubuntu20_04 (használja a legújabb virtuálisgép-rendszerkép nevét).
Ha tehát módosítja a virtuálisgép-rendszerképet (OS SKU) egy Linux-fürtben, akkor frissítse a vmImage beállítást a Service Fabric-fürterőforráson is.
#Update the property vmImage with the required OS name in your ARM template
{
"vmImage": "[parameter(newVmImageName]”
}
Megjegyzés: Példa a newVmImageName: Ubuntu20_04
A fürterőforrást a következő PowerShell-paranccsal is frissítheti:
# 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
Emellett győződjön meg arról, hogy a számítási feladathoz szükséges további bővítményeket is tartalmazza.
Új elsődleges csomóponttípus hozzáadása a fürthöz
Most, hogy az új csomóponttípus (vmNodeType1Name) saját nevével, alhálózatával, IP-címével, terheléselosztójával és méretezési csoportjával rendelkezik, újra felhasználhatja az eredeti csomóponttípus összes többi változóját (például nt0applicationEndPort
: nt0applicationStartPort
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')]"
Miután végrehajtotta a sablon és a paraméterfájlok összes módosítását, folytassa a következő szakaszban a Key Vault-referenciák beszerzéséhez és a frissítések fürtre való üzembe helyezéséhez.
Key Vault-referenciák beszerzése
A frissített konfiguráció üzembe helyezéséhez több hivatkozásra is szüksége van a Key Vaultban tárolt fürttanúsítványra. Az értékek megkeresésének legegyszerűbb módja az Azure Portal. A következők szükségesek:
A fürttanúsítvány Key Vault URL-címe. Az Azure Portal Key Vaultjában válassza a Tanúsítvány a>kívánt titkos tanúsítványazonosítót:>
$certUrlValue="https://sftestupgradegroup.vault.azure.net/secrets/sftestupgradegroup20200309235308/dac0e7b7f9d4414984ccaa72bfb2ea39"
A fürttanúsítvány ujjlenyomata. (Valószínűleg már rendelkezik a tanúsítvánnyal, ha csatlakozik a kezdeti fürthöz annak állapotának ellenőrzéséhez.) Az Azure Portal ugyanazon tanúsítványpanelén (a kívánt tanúsítvány tanúsítványa>) másolja az X.509 SHA-1 ujjlenyomatot (hexában):
$thumb = "BB796AA33BD9767E7DA27FE5182CF8FDEE714A70"
A Key Vault erőforrás-azonosítója. Az Azure Portal Key Vaultjában válassza a Tulajdonságok>erőforrás-azonosító lehetőséget:
$sourceVaultValue = "/subscriptions/########-####-####-####-############/resourceGroups/sftestupgradegroup/providers/Microsoft.KeyVault/vaults/sftestupgradegroup"
A frissített sablon üzembe helyezése
Módosítsa a templateFilePath
szükséges lépéseket, és futtassa a következő parancsot:
# 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
Amikor az üzembe helyezés befejeződött, ellenőrizze újra a fürt állapotát, és győződjön meg arról, hogy mindkét csomóponttípus összes csomópontja kifogástalan állapotban van.
Get-ServiceFabricClusterHealth
Magcsomópontok áttelepítése az új csomóponttípusra
Most már készen állunk az eredeti csomóponttípus nem elsődlegesként való frissítésére, és megkezdjük a csomópontok letiltását. A csomópontok letiltásakor a fürt rendszerszolgáltatásai és a magcsomópontok az új méretezési csoportra migrálnak.
Az eredeti csomóponttípus megjelölésének megszüntetése elsődlegesként
Először távolítsa el a isPrimary
sablonban lévő megjelölést az eredeti csomóponttípusból.
{
"isPrimary": false,
}
Ezután telepítse a sablont a frissítéssel. Ez az üzembe helyezés elindítja a magcsomópontok áttelepítését az új méretezési csoportba.
$templateFilePath = "C:\Step2-UnmarkOriginalPrimaryNodeType.json"
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFilePath `
-TemplateParameterFile $parameterFilePath `
-CertificateThumbprint $thumb `
-CertificateUrlValue $certUrlValue `
-SourceVaultValue $sourceVaultValue `
-Verbose
Feljegyzés
A magcsomópont új méretezési csoportra való migrálása eltarthat egy ideig. Az adatkonzisztenciának biztosítása érdekében egyszerre csak egy magcsomópont módosítható. Minden egyes magcsomópont-módosításhoz fürtfrissítésre van szükség; Így a magcsomópont cseréje két fürtfrissítést igényel (egyet a csomópontok hozzáadásához és eltávolításához). Ebben a mintaforgatókönyvben az öt magcsomópont frissítése tíz fürtfrissítést eredményez.
A Service Fabric Explorerrel figyelheti a magcsomópontok új méretezési csoportra való migrálását. Az eredeti csomóponttípus (nt0vm) csomópontjainak mind hamisnak kell lenniük az Is Seed Node oszlopban, és az új csomóponttípus (nt1vm) csomópontjainak igaznak kell lenniük.
A csomópontok letiltása az eredeti csomóponttípus-méretezési csoportban
Miután az összes magcsomópont át lett migrálva az új méretezési csoportra, letilthatja az eredeti méretezési csoport csomópontjait.
# 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
}
}
A Service Fabric Explorerrel figyelheti az eredeti méretezési csoportban lévő csomópontok állapotát a Letiltástól a Letiltás állapotig.
A Silver és Gold tartósság érdekében egyes csomópontok letiltott állapotba kerülnek, míg mások letiltott állapotban maradnak. A Service Fabric Explorerben ellenőrizze a csomópontok Részletek lapját Letiltás állapotban. Ha függőben lévő biztonsági ellenőrzést mutatnak a EnsurePartitionQuorem (az infrastruktúra-szolgáltatás partícióinak kvórumának biztosítása), akkor nyugodtan folytathatja.
Ha a fürt bronzos tartósságú, várja meg, amíg az összes csomópont eléri a Letiltott állapotot.
Adatok leállítása a letiltott csomópontokon
Most már leállíthatja az adatokat a letiltott csomópontokon.
# 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
}
}
Távolítsa el az eredeti csomóponttípust, és törölje az erőforrásokat
Készen állunk arra, hogy eltávolítsuk az eredeti csomóponttípust és a hozzá tartozó erőforrásokat a vertikális skálázási eljárás befejezéséhez.
Az eredeti méretezési csoport eltávolítása
Először távolítsa el a csomóponttípus háttérskálakészletét.
$scaleSetName = "nt0vm"
$scaleSetResourceType = "Microsoft.Compute/virtualMachineScaleSets"
Remove-AzResource -ResourceName $scaleSetName -ResourceType $scaleSetResourceType -ResourceGroupName $resourceGroupName -Force
Az eredeti IP- és terheléselosztó-erőforrások törlése
Most már törölheti az eredeti IP-címet és a terheléselosztó erőforrásait. Ebben a lépésben a DNS-nevet is frissíteni fogja.
Feljegyzés
Ez a lépés nem kötelező, ha már standard termékváltozatú nyilvános IP-címet és terheléselosztót használ. Ebben az esetben több méretezési csoport/ csomóponttípus is lehet ugyanabban a terheléselosztóban.
Futtassa a következő parancsokat, és szükség szerint módosítsa az $lbname
értéket.
# 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
Csomópont állapotának eltávolítása az eredeti csomóponttípusból
Az eredeti csomóponttípusú csomópontok most az állapotukkal kapcsolatos hibát jelenítik meg. Távolítsa el a csomópont állapotát a fürtből.
# 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
}
}
A Service Fabric Explorernek mostantól csak az új csomóponttípus (nt1vm) öt csomópontját kell tükröznie, és mindegyiknek AZ állapotértékekkel kell rendelkeznie. A fürt állapotában továbbra is hiba jelenik meg. Ezt a következő lépésben a sablon frissítésével orvosoljuk, hogy az tükrözze a legújabb módosításokat és az ismételt üzembe helyezést.
Az üzembehelyezési sablon frissítése az újonnan felskálázott elsődleges csomópont típusának megfelelően
Az ehhez a lépéshez szükséges módosításokat már elvégeztük a Step3-CleanupOriginalPrimaryNodeType.json sablonfájlban, és a következő szakaszok részletesen ismertetik ezeket a sablonmódosításokat. Ha szeretné, kihagyhatja a magyarázatot, és folytathatja a frissített sablon üzembe helyezését, és elvégezheti az oktatóanyagot.
A fürtkezelési végpont frissítése
Frissítse a fürtöt managementEndpoint
az üzembehelyezési sablonon, hogy hivatkozzon az új IP-címre (a vmNodeType0Name és a vmNodeType1Name frissítésével).
"managementEndpoint": "[concat('https://',reference(concat(variables('lbIPName'),'-',variables('vmNodeType1Name'))).dnsSettings.fqdn,':',variables('nt0fabricHttpGatewayPort'))]",
Az eredeti csomóponttípus-referencia eltávolítása
Távolítsa el az eredeti csomóponttípus-hivatkozást a Service Fabric-erőforrásból az üzembe helyezési sablonban:
"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')]"
Állapotszabályzatok konfigurálása a meglévő hibák figyelmen kívül hagyására
Csak Silver és magasabb tartósságú fürtök esetén frissítse a fürterőforrást a sablonban, és konfigurálja az állapotszabályzatokat úgy, hogy figyelmen kívül hagyják fabric:/System
az alkalmazás állapotát. Ehhez adja hozzá az applicationDeltaHealthPoliciest a fürterőforrás-tulajdonságokhoz az alábbiak szerint. Az alábbi szabályzat figyelmen kívül hagyja a meglévő hibákat, de nem engedélyezi az új állapothibákat.
"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
}
}
}
}
}
Az eredeti csomóponttípus támogató erőforrásainak eltávolítása
Távolítsa el az eredeti csomóponttípushoz kapcsolódó összes többi erőforrást az ARM-sablonból és a paraméterfájlból. Törölje a következőket:
"vmImagePublisher": {
"value": "MicrosoftWindowsServer"
},
"vmImageOffer": {
"value": "WindowsServer"
},
"vmImageSku": {
"value": "2019-Datacenter"
},
"vmImageVersion": {
"value": "latest"
},
A véglegesített sablon üzembe helyezése
Végül telepítse a módosított Azure Resource Manager-sablont.
# Deploy the updated template file
$templateFilePath = "C:\Step3-CleanupOriginalPrimaryNodeType"
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFilePath `
-TemplateParameterFile $parameterFilePath `
-CertificateThumbprint $thumb `
-CertificateUrlValue $certUrlValue `
-SourceVaultValue $sourceVaultValue `
-Verbose
Feljegyzés
Ez a lépés egy ideig, általában két óráig tart.
A frissítés módosítja a beállításokat az InfrastructureService szolgáltatásra, ezért csomópont-újraindításra van szükség. Ebben az esetben a forceRestart figyelmen kívül lesz hagyva. A paraméter upgradeReplicaSetCheckTimeout
megadja, hogy a Service Fabric mennyi ideig várja meg, amíg a partíció biztonságos állapotban van, ha még nincs biztonságos állapotban. Miután a csomópont összes partíciója biztonsági ellenőrzésen megy át, a Service Fabric folytatja a frissítést az adott csomóponton. A paraméter upgradeTimeout
értéke 6 órára csökkenthető, de a maximális biztonság érdekében 12 órát kell használni.
Az üzembe helyezés befejezése után ellenőrizze az Azure Portalon, hogy a Service Fabric-erőforrás állapota készen áll-e. Győződjön meg arról, hogy el tudja érni az új Service Fabric Explorer-végpontot, a fürt állapota rendben van, és az üzembe helyezett alkalmazások megfelelően működnek.
Most vertikálisan skálázott egy fürt elsődleges csomóponttípusát!
Következő lépések
- Megtudhatja, hogyan adhat hozzá csomóponttípust egy fürthöz
- Ismerje meg az alkalmazások méretezhetőségét.
- Azure-fürtök méretezése be- vagy kifelé.
- Egy Azure-fürt programozott skálázása a fluent Azure Compute SDK használatával.
- Önálló fürt méretezése be- vagy kifelé.