Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe u een Azure Service Fabric-cluster schaalt door een bestaand knooppunttype uit een cluster te verwijderen. Een Service Fabric-cluster is een met het netwerk verbonden set virtuele of fysieke machines waarin uw microservices worden geïmplementeerd en beheerd. Een machine of VM die deel uitmaakt van een cluster, wordt een knooppunt genoemd. Virtuele-machineschaalsets zijn een Azure-rekenresource die u gebruikt voor het implementeren en beheren van een verzameling virtuele machines als een set. Elk knooppunttype dat is gedefinieerd in een Azure-cluster, wordt ingesteld als een afzonderlijke schaalset. Elk knooppunttype kan vervolgens afzonderlijk worden beheerd. Nadat u een Service Fabric-cluster hebt gemaakt, kunt u een cluster horizontaal schalen door een knooppunttype (virtuele-machineschaalset) en alle bijbehorende knooppunten te verwijderen. U kunt de schaal van het cluster op elk gewenst moment aanpassen, zelfs als er workloads op het cluster worden uitgevoerd. Tijdens het schalen van het cluster worden uw toepassingen ook automatisch geschaald.
Waarschuwing
Het wordt niet aanbevolen om deze methode regelmatig te gebruiken om een knooppunttype uit een productiecluster te verwijderen. Het is een gevaarlijk commando omdat het de virtuele-machineschaalset-resource verwijdert die achter het knooppunttype staat.
Duurzaamheidskenmerken
Veiligheid krijgt prioriteit boven snelheid bij het gebruik van Remove-AzServiceFabricNodeType. Het knooppunttype moet het duurzaamheidsniveau Silver of Gold hebben, omdat:
- Bronze geeft u geen garanties over het opslaan van statusinformatie.
- Silver en Goud-duurzaamheid voorkomen eventuele wijzigingen in de schaalsenset.
- Gold biedt u ook controle over de Azure-updates in de context van de schaalset.
In Service Fabric worden onderliggende wijzigingen en updates ingedeeld, zodat gegevens niet verloren gaan. Als u echter een knooppunttype verwijdert dat Bronze-duurzaamheid heeft, kunt u statusinformatie verliezen. Als u een primair knooppunttype verwijdert en uw toepassing staatloos is, is Bronze acceptabel. Wanneer u stateful workloads draait in de productieomgeving, moet de minimale configuratie Silver zijn. Voor productiescenario's moet het primaire knooppunttype altijd Silver of Gold zijn.
Meer informatie over de duurzaamheid van brons
Wanneer u een knooppunttype verwijdert dat Brons is, gaan alle knooppunten in het knooppunttype onmiddellijk omlaag. Service Fabric onderschept geen updates van Bronze knooppuntsschaling, waardoor alle VM's direct uitvallen. Als u iets met toestand op die knooppunten had, is de data verloren. Zelfs als u staatloos was, nemen alle knooppunten in de Service Fabric deel aan de ring, zodat een hele buurt verloren kan gaan, waardoor het cluster zelf kan worden gedestabiliseerd.
Een knooppunttype verwijderen
Zorg voor deze vereisten voordat u het proces start.
- Het cluster is gezond.
- Er is nog steeds voldoende capaciteit nadat het knooppunttype is verwijderd, bijvoorbeeld het aantal knooppunten om het vereiste aantal replica's te plaatsen.
Verplaats alle services met plaatsingsbeperkingen om van het knooppunttype gebruik te maken.
- Wijzig het toepassings-/servicemanifest om niet langer naar het knooppunttype te verwijzen.
- Implementeer de wijziging.
Valideer vervolgens dat:
- Alle services die hierboven zijn gewijzigd, worden niet meer uitgevoerd op het knooppunt dat deel uitmaakt van het knooppunttype.
- Alle services zijn in orde.
Markeer het knooppunttype als niet-primair (overslaan voor niet-primaire knooppunttypen).
- Zoek de Azure Resource Manager-sjabloon die wordt gebruikt voor implementatie.
- Zoek de sectie met betrekking tot het knooppunttype in de sectie Service Fabric.
- Wijzig de eigenschap *isPrimary* naar false. ** Verwijder de sectie met betrekking tot het knooppunttype in deze taak niet.
- Implementeer de gewijzigde Azure Resource Manager-sjabloon. ** Afhankelijk van de clusterconfiguratie kan deze stap enige tijd duren.
Valideer vervolgens dat:
- Service Fabric-sectie in de portal geeft aan dat het cluster gereed is.
- Het cluster is gezond.
- Geen van de knooppunten die tot het knooppunttype behoren, worden gemarkeerd als Seed Node.
Schakel elk knooppunt in het knooppunttype uit.
Maak verbinding met het cluster met behulp van PowerShell en voer vervolgens de volgende stap uit.
$nodeType = "" # specify the name of node type $nodes = Get-ServiceFabricNode foreach($node in $nodes) { if ($node.NodeType -eq $nodeType) { $node.NodeName Disable-ServiceFabricNode -Intent RemoveNode -NodeName $node.NodeName -Force } }- Voor de duurzaamheid van brons wacht u totdat alle knooppunten de status Uitgeschakeld krijgen
- Voor duurzaamheid van zilver en goud worden sommige knooppunten uitgeschakeld en wordt de rest uitgeschakeld. Controleer het tabblad Details van de knooppunten in uitgeschakelde staat, als ze allemaal vastzitten op het quorum verkrijgen voor de partities van de infrastructuurservice, dan is het veilig om door te gaan.
Stop data voor het knooppunttype.
Maak verbinding met het cluster met behulp van PowerShell en voer vervolgens de volgende stap uit.
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 } }Wacht totdat alle knooppunten van het knooppunttype als Uitgeschakeld zijn gemarkeerd.
Dealloceren van knooppunten in de oorspronkelijke virtuele-machineschaalset
Meld u aan bij het Azure-abonnement waar de schaalset is geïmplementeerd en verwijder de virtuele-machineschaalset.
$scaleSetName="myscaleset" $scaleSetResourceType="Microsoft.Compute/virtualMachineScaleSets" Remove-AzResource -ResourceName $scaleSetName -ResourceType $scaleSetResourceType -ResourceGroupName $resourceGroupName -ForceVerwijder gegevens voor het knooppunttype.
Maak verbinding met het cluster met behulp van PowerShell en voer vervolgens de volgende stap uit.
foreach($node in $nodes) { if ($node.NodeType -eq $nodeType) { $node.NodeName Remove-ServiceFabricNodeState -NodeName $node.NodeName -Force } }Wacht totdat alle knooppunten uit het cluster zijn verwijderd. De knooppunten mogen niet worden weergegeven in SFX.
Verwijder het knooppunttype uit de sectie Service Fabric.
- Zoek de Azure Resource Manager-sjabloon die wordt gebruikt voor implementatie.
- Zoek de sectie met betrekking tot het knooppunttype in de sectie Service Fabric.
- Verwijder de sectie die overeenkomt met het knooppunttype.
- Alleen voor Silver- en hogere duurzaamheidsclusters werkt u de clusterresource in de sjabloon bij en configureert u het statusbeleid om fabric:/System toepassingsstatus te negeren door
applicationDeltaHealthPoliciesonder clusterresourcepropertiestoe te voegen, zoals hieronder aangegeven. Het onderstaande beleid moet bestaande fouten negeren, maar geen nieuwe gezondheidsfouten toestaan.
"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 } } } } },- Implementeer de gewijzigde Azure Resource Manager-sjabloon. ** Deze stap duurt een tijdje, meestal maximaal twee uur. Deze upgrade wijzigt instellingen voor infrastructureservice, daarom is opnieuw opstarten van het knooppunt nodig. In dit geval
forceRestartwordt genegeerd. De parameterupgradeReplicaSetCheckTimeoutgeeft de maximale tijd aan die Service Fabric wacht tot een partitie in een veilige status is, als deze nog niet in een veilige status staat. Zodra de veiligheidscontroles zijn geslaagd voor alle partities op een knooppunt, gaat Service Fabric verder met de upgrade op dat knooppunt. De waarde voor de parameterupgradeTimeoutkan worden teruggebracht tot 6 uur, maar voor maximale veiligheid 12 uur moet worden gebruikt.
Valideer vervolgens dat:
- Service Fabric-resource in de portal toont gereed.
Verwijder alle verwijzingen naar de resources met betrekking tot het knooppunttype uit de ARM-sjabloon.
- Zoek de Azure Resource Manager-sjabloon die wordt gebruikt voor implementatie.
- Verwijder de virtuele machine-schaalset en andere resources die betrekking hebben op het knooppunttype uit de sjabloon.
- Implementeer de wijzigingen.
Daarna kunt u het volgende doen:
- Wacht tot de implementatie is voltooid.
Verwijder resources met betrekking tot het knooppunttype dat niet meer wordt gebruikt. Voorbeeld van Load Balancer en openbaar IP-adres.
- Als u deze resources wilt verwijderen, kunt u dezelfde PowerShell-opdracht gebruiken als in stap 6, waarbij u het specifieke resourcetype en de API-versie opgeeft.
- Voor duurzaamheid van zilver en goud moet elke reparatietaak in het cluster, die gericht is op een van de knooppunten die aanwezig waren in het knooppunttype dat is verwijderd, worden voltooid met de opdracht:
Complete-ServiceFabricRepairTask -TaskId <repair task name>
Opmerking
Deze stap is optioneel als dezelfde Load Balancer en HET IP-adres opnieuw wordt gebruikt tussen knooppunttypen.
Volgende stappen
- Meer informatie over de kenmerken van de duurzaamheid van clusters.
- Meer informatie over knooppunttypen en virtuele-machineschaalsets.
- Meer informatie over het schalen van Service Fabric-clusters.