Overwegingen met betrekking tot capaciteitsplanning voor Service Fabric-cluster

Planning van clustercapaciteit is belangrijk voor elke Service Fabric-productieomgeving. Belangrijke overwegingen zijn:

  • Aanvankelijk aantal en eigenschappen van clusterknooppunttypen

  • Het duurzaamheidsniveau van elk knooppunttype, dat de bevoegdheden van de Service Fabric-VM binnen de Azure-infrastructuur bepaalt

  • Betrouwbaarheidsniveau van het cluster, dat de stabiliteit van Service Fabric-systeemservices en de algehele clusterfunctie bepaalt

In dit artikel worden de belangrijke beslissingspunten voor elk van deze gebieden beschreven.

Aanvankelijk 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 het afzonderlijk omhoog of omlaag worden geschaald, verschillende sets poorten openstaan 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, waarmee kritieke systeemservices worden uitgevoerd die de mogelijkheden van het Service Fabric-platform bieden. Hoewel het mogelijk is om ook primaire knooppunttypen te gebruiken om uw toepassingen uit te voeren, is het raadzaam deze alleen te besteden aan het uitvoeren van systeemservices.

niet-primaire knooppunttypen kunnen worden gebruikt om toepassingsrollen te definiëren (zoals front-end - en back-endservices ) 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 object NodeTypeDescription voor de volledige lijst met eigenschappen van knooppunttypen. Open bijvoorbeeld een AzureDeploy.json-bestand in Service Fabric-clustervoorbeelden en zoek op pagina naar het nodeTypes object.

Planningsoverwegingen voor knooppunttypen

Het aantal eerste typen knooppunten is afhankelijk van het doel van uw cluster en de toepassingen en services die erop worden uitgevoerd. Denk na over de volgende vragen:

  • Biedt uw toepassing meerdere services en moeten hiervan een of meer service openbaar zijn of op internet gericht?

    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 (elk één voor de front- en back-endservice).

  • Hebben de services waaruit uw toepassing bestaat verschillende infrastructuurbehoeften, zoals een groter RAM-geheugen of hogere CPU-cycli?

    De front-endservice kan vaak 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 tot meer dan 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.

  • Wordt uw cluster verspreid over Beschikbaarheidszones?

    Service Fabric ondersteunt clusters die Beschikbaarheidszones door het implementeren van knooppunttypen die zijn vastgemaakt aan specifieke zones, waardoor hoge beschikbaarheid van uw toepassingen wordt gegarandeerd. Beschikbaarheidszones aanvullende planning van knooppunttypen en minimale vereisten vereisen. Zie Topologie voor het overspannen van een primair knooppunttype over Beschikbaarheidszones voor meer informatie.

Houd er bij het bepalen van het aantal en de eigenschappen van knooppunttypen voor het maken van uw cluster rekening mee dat u altijd (niet-primaire) knooppunttypen 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 workload verplaatsen en vervolgens het oorspronkelijke primaire knooppunttype verwijderen.

Een andere overweging voor de eigenschappen van uw knooppunttype is het duurzaamheidsniveau, dat de bevoegdheden bepaalt die de VM's van een knooppunttype hebben binnen de Azure-infrastructuur. Gebruik de grootte van de VM's die u voor uw cluster kiest en het aantal exemplaren dat u toewijst voor afzonderlijke knooppunttypen om de juiste duurzaamheidslagen voor elk van uw knooppunttypen te bepalen, zoals hierna wordt beschreven.

Duurzaamheidskenmerken van het cluster

Het duurzaamheidsniveau geeft de bevoegdheden aan die uw Service Fabric-VM's hebben met de onderliggende Azure-infrastructuur. Met deze bevoegdheid kan Service Fabric elke aanvraag voor infrastructuur op VM-niveau (zoals opnieuw opstarten, opnieuw installatiekopie of migratie) onderbreken die van invloed is op de quorumvereisten voor Service Fabric-systeemservices en uw stateful services.

Belangrijk

Het duurzaamheidsniveau wordt ingesteld per knooppunttype. Als er niets is opgegeven, wordt de bronslaag gebruikt. Voor productieworkloads is een duurzaamheidsniveau van Silver of Gold vereist om gegevensverlies door 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 u aan uw virtuele-machineschaalset maakt Updates en onderhoud geïnitieerd door Azure
Goud 5 Volledige knooppuntgrootten die zijn toegewezen aan één klant - beschikbare VM-grootten Kan worden uitgesteld tot goedkeuring door het Service Fabric-cluster Kan 2 uur per upgradedomein worden onderbroken, zodat replica's meer tijd hebben om te herstellen van eerdere fouten
Zilver 5 VM's met één kern of hoger met ten minste 50 GB lokale SSD Kan worden uitgesteld tot goedkeuring door het Service Fabric-cluster Kan gedurende een aanzienlijke periode niet worden uitgesteld
Brons 1 VM's met ten minste 50 GB lokale SSD Wordt niet vertraagd door het Service Fabric-cluster Kan gedurende een aanzienlijke periode niet worden uitgesteld

Notitie

Het hierboven genoemde minimumaantal VM's is een vereiste voor elk duurzaamheidsniveau. Er zijn validaties ter plaatse die het maken of wijzigen van bestaande virtuele-machineschaalsets die niet aan deze vereisten voldoen, verhinderen.

Waarschuwing

Met bronzen duurzaamheid is automatische upgrade van installatiekopieën van het besturingssysteem niet beschikbaar. Hoewel patchindelingstoepassing (alleen bedoeld voor niet-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 gebruik van Silver of hoger aanbevolen.

Zilver en goud

Gebruik Silver- of Gold-duurzaamheid voor alle knooppunttypen die stateful services hosten die u verwacht vaak 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 (deactivering van knooppunten en Remove-ServiceFabricNodeState worden automatisch aangeroepen).
  • Vermindert het risico op gegevensverlies als gevolg van in-place VM-groottewijzigingsbewerkingen en Azure-infrastructuurbewerkingen.

Nadelen

  • Implementaties naar virtuele-machineschaalsets en andere gerelateerde Azure-resources kunnen een time-out hebben, worden vertraagd of volledig worden geblokkeerd door problemen in uw cluster of op infrastructuurniveau.
  • Verhoogt het aantal levenscyclusevenementen van replica's (bijvoorbeeld primaire wisselingen) vanwege geautomatiseerde knooppuntdeactivaties tijdens azure-infrastructuurbewerkingen.
  • Hiermee worden knooppunten gedurende bepaalde perioden buiten gebruik gesteld terwijl software-updates voor Azure-platformen 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 silver- en Gold-knooppunttypen voor duurzaamheid

Volg deze aanbevelingen voor het beheren van knooppunttypen met Silver- of Gold-duurzaamheid:

  • Zorg ervoor dat uw cluster en toepassingen altijd in orde zijn en zorg ervoor dat toepassingen tijdig reageren op alle levenscyclusevenementen van servicereplica's (zoals replica in de build is vastgelopen).
  • 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 krijgt de foutstatus als u onder deze drempelwaarde schaalt en u moet de status (Remove-ServiceFabricNodeState) voor de verwijderde knooppunten handmatig opschonen.
  • 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 aan één knooppunttype toegeeft, werkt de coördinatie tussen het Service Fabric-cluster en de Azure-infrastructuur niet goed.
  • Verwijder geen willekeurige VM-exemplaren, gebruik altijd de functie voor het schalen van virtuele-machineschaalsets. Het verwijderen van willekeurige VM-exemplaren kan onevenwichtigheden in het VM-exemplaar creëren, verspreid over upgradedomeinen en foutdomeinen. Deze onevenwichtigheid kan een negatieve invloed hebben op de mogelijkheid van systemen om de taakverdeling tussen de service-exemplaren/servicereplica's goed te verdelen.
  • Als u Automatische schaalaanpassing gebruikt, stelt u de regels zodanig in dat inschalen (verwijderen van VM-exemplaren) slechts één knooppunt tegelijk wordt uitgevoerd. Schalen in meer dan één exemplaar tegelijk is niet veilig.
  • Als u VM's op het primaire knooppunttype verwijdert of ermee omgaat, vermindert u nooit het aantal toegewezen VM's onder wat vereist is voor de betrouwbaarheidslaag. 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 een duurzaamheidsniveau van Silver of Gold kunnen niet worden gedegradeerd naar Brons.
  • 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 het bijwerken in zowel de Configuratie van de Service Fabric-extensie in uw virtuele-machineschaalsetresource als in de definitie van het knooppunttype in uw Service Fabric-clusterresource. Deze waarden moeten overeenkomen.

Een andere overweging bij capaciteitsplanning 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 de systeemservices (en dus het cluster als geheel).

Belangrijk

Het betrouwbaarheidsniveau wordt ingesteld op clusterniveau en bepaalt het minimale aantal knooppunten van het primaire knooppunttype. Voor productieworkloads is een betrouwbaarheidsniveau van Silver (groter of gelijk aan vijf knooppunten) of hoger vereist.

De betrouwbaarheidslaag kan de volgende waarden aannemen:

  • Platinum - Systeemservices worden uitgevoerd met het aantal doelreplicasets van negen
  • Gold - Systeemservices worden uitgevoerd met het aantal doelreplicasets van zeven
  • Silver - Systeemservices worden uitgevoerd met het aantal doelreplicasets van vijf
  • Brons : systeemservices worden uitgevoerd met het aantal doelreplicasets 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 Platinum

Wanneer u de grootte van uw cluster (de som van VM-exemplaren in alle knooppunttypen) verhoogt of verkleint, kunt u overwegen om de betrouwbaarheid van uw cluster bij te werken van de ene laag naar de andere. Als u dit doet, 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 aanbrengt in het cluster, zoals het toevoegen van knooppunten. U kunt de voortgang van de upgrade controleren op Service Fabric Explorer 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 aan de slag te helpen met capaciteitsplanning.

Grootte van virtuele machine aanpassen

Voor productieworkloads is de aanbevolen VM-grootte (SKU) Standard D2_V2 (of gelijkwaardig) met minimaal 50 GB lokale SSD, 2 kernen en 4 GiB geheugen. Een minimum van 50 GB lokale SSD wordt aanbevolen, maar voor sommige workloads (zoals die met Windows-containers) zijn grotere schijven vereist.

De lokale SSD is standaard geconfigureerd op 64 GB. De grootte kan worden geconfigureerd in de instelling MaxDiskQuotaInMB van de sectie Diagnostische gegevens van de clusterinstellingen.

Zie Upgrade the configuration of a cluster in Azure (De configuratie van een cluster in Azure upgraden) voor instructies over het aanpassen van de clusterinstellingen van een cluster dat wordt gehost in Azure.

Zie Upgrade the configuration of a standalone cluster (De configuratie van een zelfstandig cluster upgraden) voor instructies over het aanpassen van de clusterinstellingen van een zelfstandig cluster dat wordt gehost in Windows.

Houd bij het kiezen van andere VM-grootten voor productieworkloads rekening met de volgende beperkingen:

  • Vm-grootten met gedeeltelijke of één kern, zoals Standard A0, worden niet ondersteund.
  • A-serie VM-grootten 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

Voor productieworkloads in Azure zijn minimaal vijf primaire knooppunten (VM-exemplaren) en een silver-betrouwbaarheidslaag vereist. Het is raadzaam om het primaire knooppunttype van het cluster 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 voor reliabilityLevel is 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 het duurzaamheidsniveau) plannen op basis van het aantal replica's van toepassingen of services dat u wilt uitvoeren voor het knooppunttype en afhankelijk van het feit 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 verlagen nadat u het cluster hebt geïmplementeerd.

Stateful workloads

Voor stateful productieworkloads die gebruikmaken van betrouwbare Verzamelingen van Service Fabric of betrouwbare actoren, wordt een minimumaantal en het aantal doelreplica's van vijf aanbevolen. Met dit, in een stabiele status, eindigt u met een replica (van een replicaset) in elk foutdomein en upgradedomein. Gebruik in het algemeen 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 minimale ondersteunde niet-primaire knooppunttypegrootte drie om quorum te behouden, maar een knooppunttypegrootte van vijf wordt aanbevolen.

Volgende stappen

Voordat u het cluster configureert, raadpleegt u het Not Allowedclusterupgradebeleid om te voorkomen dat het cluster later opnieuw moet worden gemaakt vanwege anderszins onveranderbare systeemconfiguratie-instellingen.

Zie voor meer informatie over clusterplanning: