Overwegingen met betrekking tot capaciteitsplanning voor Service Fabric-cluster
Het plannen van clustercapaciteit is belangrijk voor elke Service Fabric-productieomgeving. Belangrijke overwegingen zijn:
Eerste aantal en eigenschappen van clusterknooppunttypen
Duurzaamheidsniveau van elk knooppunttype, dat bepaalt welke Service Fabric VM-bevoegdheden binnen de Azure-infrastructuur hebben
Betrouwbaarheidsniveau van het cluster, dat de stabiliteit van Service Fabric-systeemservices en de algehele clusterfunctie bepaalt
In dit artikel wordt u begeleid bij de belangrijke beslissingspunten voor elk van deze gebieden.
Eerste aantal en eigenschappen van clusterknooppunttypen
Een knooppunttype definieert de grootte, het aantal en de eigenschappen voor een set knooppunten (virtuele machines) in het cluster. Elk knooppunttype dat is gedefinieerd in een Service Fabric-cluster, wordt toegewezen aan een virtuele-machineschaalset.
Omdat elk knooppunttype een afzonderlijke schaalset is, kan deze onafhankelijk van elkaar worden geschaald, verschillende sets poorten openen en verschillende metrische capaciteitsgegevens hebben. Zie Service Fabric-clusterknooppunttypen voor meer informatie over de relatie tussen knooppunttypen en virtuele-machineschaalsets.
Voor elk cluster is één primair knooppunttype vereist, dat essentiële systeemservices uitvoert die Service Fabric-platformmogelijkheden bieden. Hoewel het mogelijk is om ook primaire knooppunttypen te gebruiken om uw toepassingen uit te voeren, is het raadzaam deze alleen toe te voegen aan het uitvoeren van systeemservices.
niet-primaire knooppunttypen kunnen worden gebruikt om toepassingsrollen (zoals front-end- en back-endservices) te definiëren en om services binnen een cluster fysiek te isoleren. Service Fabric-clusters kunnen nul of meer niet-primaire knooppunttypen hebben.
Het primaire knooppunttype wordt geconfigureerd met behulp van het isPrimary
kenmerk onder de definitie van het knooppunttype in de Azure Resource Manager-implementatiesjabloon. Zie het NodeTypeDescription-object voor de volledige lijst met eigenschappen van het knooppunttype. Open bijvoorbeeld een AzureDeploy.json-bestand in Voorbeelden van Service Fabric-clusters en zoek op pagina naar het nodeTypes
object.
Overwegingen voor planning van knooppunttypen
Het aantal initiële knooppunttypen is afhankelijk van het doel van uw cluster en de toepassingen en services die erop worden uitgevoerd. Denk na over de volgende vragen:
Heeft uw toepassing meerdere services en moeten deze openbaar of internetgericht zijn?
Typische toepassingen bevatten een front-endgatewayservice die invoer van een client ontvangt en een of meer back-endservices die communiceren met de front-endservices, met afzonderlijke netwerken tussen de front-end- en back-endservices. Voor deze gevallen zijn doorgaans drie knooppunttypen vereist: één primair knooppunttype en twee niet-primaire knooppunttypen (één voor de front- en back-endservice).
Hebben de services waaruit uw toepassing bestaat verschillende infrastructuurbehoeften, zoals grotere RAM- of hogere CPU-cycli?
Vaak kan de front-endservice worden uitgevoerd op kleinere VM's (VM-grootten zoals D2) met poorten die zijn geopend voor internet. Rekenintensieve back-endservices moeten mogelijk worden uitgevoerd op grotere VM's (met VM-grootten zoals D4, D6, D15) die niet op internet zijn gericht. Door verschillende knooppunttypen voor deze services te definiëren, kunt u efficiënter en veiliger gebruik maken van onderliggende Service Fabric-VM's en kunt u ze onafhankelijk schalen. Zie Capaciteitsplanning voor Service Fabric-toepassingen voor meer informatie over het schatten van de hoeveelheid resources die u nodig hebt
Moet een van uw toepassingsservices worden uitgeschaald naar meer dan 100 knooppunten?
Eén knooppunttype kan niet betrouwbaar worden geschaald buiten 100 knooppunten per virtuele-machineschaalset voor Service Fabric-toepassingen. Voor het uitvoeren van meer dan 100 knooppunten zijn extra virtuele-machineschaalsets (en dus extra knooppunttypen) vereist.
Beslaat uw cluster Beschikbaarheidszones?
Service Fabric ondersteunt clusters die over Beschikbaarheidszones lopen door knooppunttypen te implementeren die zijn vastgemaakt aan specifieke zones, waardoor hoge beschikbaarheid van uw toepassingen wordt gegarandeerd. Beschikbaarheidszones aanvullende planning en minimale vereisten voor knooppunttypen vereisen. Zie Topologie voor het overspannen van een primair knooppunttype in Beschikbaarheidszones voor meer informatie.
Wanneer u het aantal en de eigenschappen van knooppunttypen voor het maken van uw cluster bepaalt, moet u er rekening mee houden dat u altijd knooppunttypen (niet-primair) kunt toevoegen, wijzigen of verwijderen zodra uw cluster is geïmplementeerd. Primaire knooppunttypen kunnen ook omhoog of omlaag worden geschaald in actieve clusters, maar hiervoor moet u een nieuw knooppunttype maken, de werkbelasting verplaatsen en vervolgens het oorspronkelijke primaire knooppunttype verwijderen.
Een verdere overweging voor de eigenschappen van uw knooppunttype is duurzaamheidsniveau, dat bepaalt de bevoegdheden die de VM's van een knooppunttype hebben binnen de Azure-infrastructuur. Gebruik de grootte van vm's die u kiest voor uw cluster en het aantal exemplaren dat u toewijst voor afzonderlijke knooppunttypen om de juiste duurzaamheidslaag voor elk van uw knooppunttypen te bepalen, zoals hierna wordt beschreven.
Duurzaamheidskenmerken van het cluster
Het duurzaamheidsniveau wijst de bevoegdheden aan die uw Service Fabric-VM's hebben met de onderliggende Azure-infrastructuur. Met deze bevoegdheid kan Service Fabric elke infrastructuuraanvraag op VM-niveau onderbreken (zoals opnieuw opstarten, installatiekopie of migratie) die van invloed is op de quorumvereisten voor Service Fabric-systeemservices en uw stateful services.
Belangrijk
Het duurzaamheidsniveau wordt ingesteld per knooppunttype. Als er geen opgegeven is, wordt de bronslaag gebruikt. Voor productieworkloads is een duurzaamheidsniveau van Silver of Gold vereist om gegevensverlies van infrastructuuraanvragen op VM-niveau te voorkomen.
In de onderstaande tabel ziet u de duurzaamheidslagen van Service Fabric, de bijbehorende vereisten en de betaalbaarheid.
Duurzaamheidslaag | Vereist minimumaantal VM's | Ondersteunde VM-grootten | Updates die u aanbrengt in uw virtuele-machineschaalset | Updates en onderhoud geïnitieerd door Azure |
---|---|---|---|---|
Goud | 5 | Grootten van volledige knooppunten die zijn toegewezen aan één klant: beschikbare VM-grootten | Kan worden uitgesteld totdat het Service Fabric-cluster is goedgekeurd | Kan 2 uur per upgradedomein worden onderbroken om extra tijd te bieden voor replica's om eerdere fouten te herstellen |
Zilver | 5 | VM's met één kern of hoger met ten minste 50 GB lokale SSD | Kan worden uitgesteld totdat het Service Fabric-cluster is goedgekeurd | Kan niet worden uitgesteld voor een aanzienlijke periode |
Brons | 1 | VM's met ten minste 50 GB lokale SSD | Wordt niet vertraagd door het Service Fabric-cluster | Kan niet worden uitgesteld voor een aanzienlijke periode |
Notitie
Het bovenstaande minimum aantal VIRTUELE machines is een vereiste voor elk duurzaamheidsniveau. We hebben validaties die het maken of wijzigen van bestaande virtuele-machineschaalsets verhinderen die niet aan deze vereisten voldoen.
Waarschuwing
Met bronzen duurzaamheid is automatische upgrade van installatiekopieën van het besturingssysteem niet beschikbaar. Hoewel patchindelingstoepassing (alleen bedoeld voor niet-door Azure gehoste clusters) niet wordt aanbevolen voor Silver- of hogere duurzaamheidsniveaus, is het uw enige optie om Windows-updates te automatiseren met betrekking tot Service Fabric-upgradedomeinen.
Belangrijk
Ongeacht het duurzaamheidsniveau, wordt het cluster vernietigd door een Deallocation-bewerking uit te voeren op een virtuele-machineschaalset.
Brons
Knooppunttypen die worden uitgevoerd met bronzen duurzaamheid krijgen geen bevoegdheden. Dit betekent dat infrastructuurtaken die van invloed zijn op uw stateful workloads niet worden gestopt of vertraagd. Gebruik bronzen duurzaamheid voor knooppunttypen die alleen stateless workloads uitvoeren. Voor productieworkloads wordt het uitvoeren van Silver of hoger aanbevolen.
Zilver en goud
Gebruik Silver- of Gold-duurzaamheid voor alle knooppunttypen die stateful services hosten die u verwacht regelmatig in te schalen en waar u wilt dat implementatiebewerkingen worden vertraagd en de capaciteit wordt verminderd ten gunste van het vereenvoudigen van het proces. Uitschaalscenario's mogen geen invloed hebben op uw keuze van de duurzaamheidslaag.
Voordelen
- Vermindert het aantal vereiste stappen voor inschaalbewerkingen (knooppuntdeactivatie en Remove-ServiceFabricNodeState worden automatisch aangeroepen).
- Vermindert het risico op gegevensverlies als gevolg van in-place VM-groottewijzigingsbewerkingen en Azure-infrastructuurbewerkingen.
Nadelen
- Implementaties voor virtuele-machineschaalsets en andere gerelateerde Azure-resources kunnen een time-out veroorzaken, worden vertraagd of volledig worden geblokkeerd door problemen in uw cluster of op infrastructuurniveau.
- Hiermee verhoogt u het aantal gebeurtenissen voor de levenscyclus van replica's (bijvoorbeeld primaire wisselingen) vanwege geautomatiseerde knooppuntontactivaties tijdens azure-infrastructuurbewerkingen.
- Neemt knooppunten gedurende een bepaalde periode buiten gebruik terwijl er software-updates van het Azure-platform of hardwareonderhoudsactiviteiten plaatsvinden. Mogelijk ziet u knooppunten met de status Uitschakelen/Uitgeschakeld tijdens deze activiteiten. Dit vermindert de capaciteit van uw cluster tijdelijk, maar heeft geen invloed op de beschikbaarheid van uw cluster of toepassingen.
Aanbevolen procedures voor knooppunttypen Silver en Gold
Volg deze aanbevelingen voor het beheren van knooppunttypen met Silver- of Gold-duurzaamheid:
- Houd uw cluster en toepassingen altijd in orde en zorg ervoor dat toepassingen tijdig reageren op alle levenscyclus-gebeurtenissen van servicereplica's (zoals replica's in build blijven hangen).
- Gebruik veiligere manieren om een VM-grootte te wijzigen (omhoog/omlaag schalen). Het wijzigen van de VM-grootte van een virtuele-machineschaalset vereist zorgvuldige planning en voorzichtigheid. Zie Een Service Fabric-knooppunttype omhoog schalen voor meer informatie
- Houd minimaal vijf knooppunten bij voor elke virtuele-machineschaalset waarvoor het duurzaamheidsniveau Gold of Silver is ingeschakeld. Uw cluster voert de foutstatus in als u onder deze drempelwaarde inschaalt en u de status (
Remove-ServiceFabricNodeState
) handmatig moet opschonen voor de verwijderde knooppunten. - Elke virtuele-machineschaalset met het duurzaamheidsniveau Silver of Gold moet worden toegewezen aan een eigen knooppunttype in het Service Fabric-cluster. Als u meerdere virtuele-machineschaalsets toetoewijzingt aan één knooppunttype, voorkomt u dat de coördinatie tussen het Service Fabric-cluster en de Azure-infrastructuur goed werkt.
- Verwijder geen willekeurige VM-exemplaren, gebruik altijd de schaal van virtuele-machineschaalsets in functie. Het verwijderen van willekeurige VM-exemplaren heeft een potentieel van onevenwichtigheid in het VM-exemplaar, verspreid over upgradedomeinen en foutdomeinen. Deze onevenwichtigheid kan de mogelijkheid van systemen om een juiste taakverdeling tussen de service-exemplaren/servicereplica's te beïnvloeden.
- Als u automatische schaalaanpassing gebruikt, stelt u de regels zo in dat bewerkingen voor inschalen (verwijderen van VM-exemplaren) slechts één knooppunt tegelijk worden uitgevoerd. Schalen in meer dan één exemplaar tegelijk is niet veilig.
- Als u VM's op het primaire knooppunttype verwijdert of de toewijzing ervan ongedaan maakt, vermindert u nooit het aantal toegewezen VM's onder wat de betrouwbaarheidslaag vereist. Deze bewerkingen worden voor onbepaalde tijd geblokkeerd in een schaalset met een duurzaamheidsniveau van Silver of Gold.
Duurzaamheidsniveaus wijzigen
Binnen bepaalde beperkingen kan het duurzaamheidsniveau van het knooppunttype worden aangepast:
- Knooppunttypen met duurzaamheidsniveaus van Silver of Gold kunnen niet worden gedowngraded naar Bronze.
- Het downgraden van knooppunttypen met een duurzaamheidsniveau van Gold naar Silver wordt niet ondersteund.
- Het upgraden van Bronze naar Silver of Gold kan enkele uren duren.
- Wanneer u het duurzaamheidsniveau wijzigt, moet u dit bijwerken in zowel de Service Fabric-extensieconfiguratie in de resource van de virtuele-machineschaalset als in de definitie van het knooppunttype in uw Service Fabric-clusterresource. Deze waarden moeten overeenkomen.
Een andere overweging bij het plannen van capaciteit is het betrouwbaarheidsniveau voor uw cluster, dat de stabiliteit van systeemservices en uw algehele cluster bepaalt, zoals beschreven in de volgende sectie.
Betrouwbaarheidskenmerken van het cluster
Het betrouwbaarheidsniveau van het cluster bepaalt het aantal systeemservicesreplica's dat wordt uitgevoerd op het primaire knooppunttype van het cluster. Hoe meer replica's, hoe betrouwbaarder zijn de systeemservices (en daarom het cluster als geheel).
Belangrijk
Betrouwbaarheidsniveau wordt ingesteld op clusterniveau en bepaalt het minimale aantal knooppunten van het primaire knooppunttype. Productieworkloads vereisen een betrouwbaarheidsniveau van Silver (groter of gelijk aan vijf knooppunten) of hoger.
De betrouwbaarheidslaag kan de volgende waarden aannemen:
- Platinum - Systeemservices worden uitgevoerd met het aantal doelreplica's van negen
- Gold - Systeemservices worden uitgevoerd met het aantal doelreplica's van zeven
- Silver - Systeemservices worden uitgevoerd met het aantal doelreplica's van vijf
- Bronze - Systeemservices worden uitgevoerd met het aantal doelreplica's van drie
Hier volgt de aanbeveling voor het kiezen van de betrouwbaarheidslaag. Het aantal seed-knooppunten wordt ook ingesteld op het minimum aantal knooppunten voor een betrouwbaarheidslaag.
Aantal knooppunten | Betrouwbaarheidslaag |
---|---|
1 | Geef de reliabilityLevel parameter niet op: het systeem berekent deze. |
3 | Brons |
5 of 6 | Zilver |
7 of 8 | Goud |
9 en hoger | Platina |
Wanneer u de grootte van uw cluster vergroot of verkleint (de som van VM-exemplaren in alle knooppunttypen), kunt u overwegen de betrouwbaarheid van uw cluster van de ene laag naar de andere bij te werken. Hierdoor worden de clusterupgrades geactiveerd die nodig zijn om het aantal replicasets van systeemservices te wijzigen. Wacht tot de upgrade is voltooid voordat u andere wijzigingen aan het cluster aanbrengt, zoals het toevoegen van knooppunten. U kunt de voortgang van de upgrade in Service Fabric Explorer controleren of door Get-ServiceFabricClusterUpgrade uit te voeren
Capaciteitsplanning voor betrouwbaarheid
De capaciteitsbehoeften van uw cluster worden bepaald door uw specifieke workload- en betrouwbaarheidsvereisten. Deze sectie bevat algemene richtlijnen om u te helpen aan de slag te gaan met capaciteitsplanning.
Grootte van virtuele machines aanpassen
Voor productieworkloads raden we een VM-grootte (SKU) aan met het volgende:
- Ten minste 2 kernen.
- Minimaal 50 GB lokale SSD. Voor sommige workloads, zoals werkbelastingen met Windows-containers, zijn echter grotere schijven vereist.
Standaard is lokale SSD geconfigureerd op 64 GB. De grootte kan worden geconfigureerd in de instelling MaxDiskQuotaInMB van de sectie Diagnostische gegevens van clusterinstellingen.
Zie De configuratie van een cluster in Azure upgraden voor instructies voor het aanpassen van de clusterinstellingen van een cluster dat wordt gehost in Azure
Zie De configuratie van een zelfstandig cluster upgraden voor instructies voor het aanpassen van de clusterinstellingen van een zelfstandig cluster dat wordt gehost in Windows
Houd rekening met de volgende beperkingen bij het kiezen van andere VM-grootten voor productieworkloads :
- Vm-grootten met gedeeltelijke/één kern, zoals Standard A0, worden niet ondersteund.
- VM-grootten uit de A-serie worden om prestatieredenen niet ondersteund.
- VM's met lage prioriteit worden niet ondersteund.
- Burstable SKU's uit de B-serie worden niet ondersteund.
Type primair knooppunt
Productieworkloads in Azure vereisen minimaal vijf primaire knooppunten (VM-exemplaren) en een betrouwbaarheidslaag van Silver. Het is raadzaam om het primaire clusterknooppunttype toe te voegen aan systeemservices en plaatsingsbeperkingen te gebruiken om uw toepassing te implementeren op secundaire knooppunttypen.
Testworkloads in Azure kunnen minimaal één of drie primaire knooppunten uitvoeren. Als u een cluster met één knooppunt wilt configureren, moet u ervoor zorgen dat de reliabilityLevel
instelling wordt weggelaten in uw Resource Manager-sjabloon (het opgeven van een lege tekenreekswaarde is reliabilityLevel
niet voldoende). Als u het cluster met één knooppunt instelt dat is ingesteld met Azure Portal, wordt deze configuratie automatisch uitgevoerd.
Waarschuwing
Clusters met één knooppunt worden uitgevoerd met een speciale configuratie zonder betrouwbaarheid en waarbij uitschalen niet wordt ondersteund.
niet-primaire knooppunttypen
Het minimale aantal knooppunten voor een niet-primair knooppunttype is afhankelijk van het specifieke duurzaamheidsniveau van het knooppunttype. U moet het aantal knooppunten (en duurzaamheidsniveau) plannen op basis van het aantal replica's van toepassingen of services dat u wilt uitvoeren voor het knooppunttype en afhankelijk van of de workload stateful of stateless is. Houd er rekening mee dat u het aantal VM's in een knooppunttype op elk gewenst moment kunt verhogen of verkleinen nadat u het cluster hebt geïmplementeerd.
Stateful workloads
Voor stateful productieworkloads die gebruikmaken van betrouwbare Service Fabric-verzamelingen of reliable Actors, wordt een minimum- en doelreplicaaantal van vijf aanbevolen. Met deze status eindigt u met een replica (van een replicaset) in elk foutdomein en upgradedomein. In het algemeen gebruikt u het betrouwbaarheidsniveau dat u instelt voor systeemservices als richtlijn voor het aantal replica's dat u gebruikt voor uw stateful services.
Stateless workloads
Voor stateless productieworkloads is de minimaal ondersteunde grootte van het niet-primaire knooppunttype drie om quorum te behouden, maar een knooppunttypegrootte van vijf wordt aanbevolen.
Volgende stappen
Voordat u uw cluster configureert, controleert u het upgradebeleid voor het Not Allowed
cluster om te voorkomen dat u het cluster later opnieuw moet maken vanwege anders onveranderbare systeemconfiguratie-instellingen.
Zie voor meer informatie over clusterplanning: