Service Fabric overwegingen voor het plannen van clustercapaciteit
Het plannen van clustercapaciteit is belangrijk voor elke Service Fabric productieomgeving. Belangrijke overwegingen zijn onder andere:
Eerste aantal en eigenschappen van clusterknooppunttypen
Duurzaamheidsniveau van elk knooppunttype, waarmee wordt bepaald Service Fabric VM-bevoegdheden binnen de Azure-infrastructuur
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.
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 aan een virtuele-machineschaalset toe te staan.
Omdat elk knooppunttype een afzonderlijke schaalset is, kan het afzonderlijk omhoog of omlaag worden geschaald, verschillende sets poorten open hebben en verschillende capaciteitsmetrieken hebben. Zie clusterknooppunttypen voor meer informatie over de relatie tussen knooppunttypen en Service Fabric virtuele-machineschaalsets.
Voor elk cluster is één primair knooppunttype vereist, waarmee kritieke systeemservices worden uitgevoerd die Service Fabric bieden. Hoewel het mogelijk is om ook primaire knooppunttypen te gebruiken om uw toepassingen uit te voeren, is het raadzaam om ze uitsluitend te besteden aan het uitvoeren van systeemservices.
Niet-primaire knooppunttypen kunnen worden gebruikt voor het definiëren van toepassingsrollen (zoals front-end- en back-endservices) en voor het fysiek isoleren van services binnen een cluster. Service Fabric clusters kunnen nul of meer niet-primaire knooppunttypen hebben.
Het primaire knooppunttype wordt geconfigureerd met behulp van het kenmerk onder de definitie van het isPrimary knooppunttype in Azure Resource Manager implementatiesjabloon. Zie het NodeTypeDescription-object voor de volledige lijst met eigenschappen van het knooppunttype. Open bijvoorbeeld een AzureDeploy.json-bestand in Service Fabric clustervoorbeelden en zoek op pagina naar het nodeTypes -object.
Planningsoverwegingen voor knooppunttype
Het aantal initiële knooppunten is afhankelijk van het doel van uw cluster en de toepassingen en services die daarop 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 ontvangt van een client 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 waar uw toepassing deel van uit maakt verschillende infrastructuurbehoeften, zoals meer 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 veilig gebruik maken van onderliggende Service Fabric-VM's en kunnen ze onafhankelijk worden geschaald. Zie Capaciteitsplanning voor uw toepassingen voor meer informatie over het schatten van de hoeveelheid resources Service Fabric resources
Moeten al uw toepassingsservices worden uitschalen 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.
Zal uw cluster meerdere Beschikbaarheidszones?
Service Fabric ondersteunt clusters die meerdere Beschikbaarheidszones door knooppunttypen te implementeren die zijn vastgemaakt aan specifieke zones, waardoor hoge beschikbaarheid van uw toepassingen wordt gewaarborgd. Beschikbaarheidszones vereist aanvullende planning van knooppunttype en minimale vereisten. Zie Aanbevolen topologie voor het overspannen van een primair knooppunttype in Beschikbaarheidszones.
Bij het bepalen van het aantal en de eigenschappen van knooppunttypen voor het eerste maken van uw cluster, moet u er rekening mee houden 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 clusters die worden uitgevoerd. Als u dit wilt doen, moet u echter een nieuw knooppunttype maken, de workload verplaatsen en vervolgens het oorspronkelijke primaire knooppunttype verwijderen.
Een andere overweging voor de eigenschappen van uw knooppunttype is duurzaamheidsniveau, waarmee wordt bepaald welke bevoegdheden 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 instanties dat u toewijst voor afzonderlijke knooppunttypen om de juiste duurzaamheidslaag te bepalen voor elk van uw knooppunttypen, 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 Service Fabric een infrastructuuraanvraag op VM-niveau onderbreken (zoals opnieuw opstarten, opnieuw maken of migreren) 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 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 Service Fabric de duurzaamheidslagen, hun vereisten en betaalbaarheid.
| Duurzaamheidslaag | Vereist minimum aantal VM's | Ondersteunde VM-grootten | Updates die u aan uw virtuele-machineschaalset aan het maken bent | Updates en onderhoud geïnitieerd door Azure |
|---|---|---|---|---|
| Goud | 5 | Volledige knooppuntgrootten toegewezen aan één klant (bijvoorbeeld L32s, GS5, G5, DS15_v2, D15_v2) | Kan worden uitgesteld tot goedgekeurd 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 goedgekeurd door het Service Fabric cluster | Kan niet worden vertraagd voor een aanzienlijke periode |
| Bronze | 1 | VM's met ten minste 50 GB lokale SSD | Wordt niet vertraagd door het Service Fabric cluster | Kan niet worden vertraagd voor een aanzienlijke periode |
Notitie
Het hierboven genoemde minimumaantal VM's is een vereiste voor elk duurzaamheidsniveau. Er zijn validaties ter plaatse die voorkomen dat bestaande virtuele-machineschaalsets worden gemaakt of gewijzigd die niet aan deze vereisten voldoen.
Waarschuwing
Met bronzen duurzaamheid is automatische upgrade van besturingssysteemafbeeldingen niet beschikbaar. Hoewel patch-orchestration-toepassing (alleen bedoeld voor niet-Azure-gehoste clusters) niet wordt aanbevolen voor Silver- of hogere duurzaamheidsniveaus, is dit de enige optie om Windows-updates te automatiseren met betrekking tot Service Fabric upgradedomeinen.
Belangrijk
Ongeacht het duurzaamheidsniveau wordt het cluster vernietigd als een toewijzingsbewerking op een virtuele-machineschaalset wordt uitgevoerd.
Bronze
Knooppunttypen die worden uitgevoerd met de duurzaamheid Brons, 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 staatloze werkbelastingen uitvoeren. Voor productieworkloads wordt het uitvoeren van Silver of hoger aanbevolen.
Silver en Gold
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 nadee van het vereenvoudigen van het proces. Uitschaalscenario's mogen geen invloed hebben op uw keuze voor de duurzaamheidslaag.
Voordelen
- Vermindert het aantal vereiste stappen voor inschaalbewerkingen (knooppunt deactiveren en Remove-ServiceFabricNodeState automatisch aangeroepen).
- Vermindert het risico op gegevensverlies als gevolg van in-place VM-groottewijzigingsbewerkingen en bewerkingen in de Azure-infrastructuur.
Nadelen
- Implementaties naar virtuele-machineschaalsets en andere gerelateerde Azure-resources kunnen een time-out hebben, vertraging hebben of volledig worden geblokkeerd door problemen in uw cluster of op infrastructuurniveau.
- Verhoogt het aantal levenscyclusgebeurtenissen van replica's (bijvoorbeeld primaire wisselingen) als gevolg van automatische knooppuntactiveringen tijdens bewerkingen van de Azure-infrastructuur.
- Knooppunten worden gedurende perioden buiten gebruik genomen terwijl software-updates of hardwareonderhoudsactiviteiten van het Azure-platform plaatsvinden. Mogelijk ziet u tijdens deze activiteiten knooppunten met de status Uitschakelen/Uitgeschakeld. Dit vermindert tijdelijk de capaciteit van uw cluster, maar heeft geen invloed op de beschikbaarheid van uw cluster of toepassingen.
Best practices voor silver- en Gold-knooppunttypen voor duurzaamheid
Volg deze aanbevelingen voor het beheren van knooppunttypen met duurzaamheid van Silver of Gold:
- Houd uw cluster en toepassingen altijd in orde en zorg ervoor dat toepassingen op tijd reageren op alle levenscyclusgebeurtenissen van servicereplica's (zoals replica's in de build).
- Gebruik veiligere manieren om een wijziging in de VM-grootte aan te brengen (omhoog/omlaag schalen). Het wijzigen van de VM-grootte van een virtuele-machineschaalset vereist een zorgvuldige planning en voorzichtigheid. Zie Scale up a Service Fabric node type (Een knooppunttype omhoog Service Fabric schalen) voor meer informatie
- Behoud een minimumaantal van vijf knooppunten voor elke virtuele-machineschaalset met een duurzaamheidsniveau van Gold of Silver ingeschakeld. Uw cluster krijgt een foutmelding als u onder deze drempelwaarde inschaalt en u de status handmatig moet opsommen (
Remove-ServiceFabricNodeState) voor de verwijderde knooppunten. - Elke virtuele-machineschaalset met Silver of Gold op duurzaamheidsniveau moet zijn eigen knooppunttype in het Service Fabric cluster. Het toewijzen van meerdere virtuele-machineschaalsets aan één knooppunttype voorkomt 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 kan onevenwichtigheden veroorzaken in het VM-exemplaar, verspreid over upgradedomeinen en foutdomeinen. Deze onevenwichtigheid kan een negatieve invloed hebben op de systeemcapaciteit om de load balancer tussen de service-exemplaren/servicereplica's goed te kunnen uitvoeren.
- Als u Automatisch schalen gebruikt, stelt u de regels zo in dat inschalen (het verwijderen van VM-exemplaren) slechts één knooppunt tegelijk wordt uitgevoerd. Het schalen van meer dan één exemplaar tegelijk is niet veilig.
- Als u VM's op het primaire knooppunttype wilt verwijderen of de toewijzing ervan wilt verwijderen, 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 Zilver of Goud kunnen niet worden gedowngraded naar Brons.
- Het upgraden van Brons naar Silver of Gold kan enkele uren duren.
- Wanneer u het duurzaamheidsniveau verandert, moet u deze 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 systeemservicereplica'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 minimum aantal knooppunten van het primaire knooppunttype. Productieworkloads vereisen een betrouwbaarheidsniveau van Silver (groter dan of gelijk aan vijf knooppunten) of hoger.
De betrouwbaarheidslaag kan de volgende waarden hebben:
- Laten - Systeemservices worden uitgevoerd met 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 doel aantal replicasets van drie
Hier is 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 parameter niet reliabilityLevel op: het systeem berekent deze. |
| 3 | Bronze |
| 5 of 6 | Zilver |
| 7 of 8 | Goud |
| 9 en omhoog | Platinum |
Wanneer u de grootte van uw cluster vergroot of verkleint (de som van VM-exemplaren in alle knooppunttypen), 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 die nodig zijn om het aantal replicasets van systeemservices te wijzigen. Wacht tot de upgrade is voltooid voordat u andere wijzigingen aan het cluster aan kunt brengen, zoals het toevoegen van knooppunten. U kunt de voortgang van de upgrade 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 te helpen aan de slag te gaan met capaciteitsplanning.
Formaat van virtuele machines
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. Minimaal 50 GB lokale SSD wordt aanbevolen, maar voor sommige werkbelastingen (zoals die met Windows containers) zijn grotere schijven vereist. Houd bij het kiezen van andere VM-grootten voor productieworkloads rekening met de volgende beperkingen:
- Gedeeltelijke kern-VM-grootten zoals Standard A0 worden niet ondersteund.
- A-serie VM-grootten worden om prestatieredenen niet ondersteund.
- VM's met lage prioriteit worden niet ondersteund.
Primair knooppunttype
Voor productieworkloads in Azure zijn minimaal vijf primaire knooppunten (VM-exemplaren) en een betrouwbaarheidslaag van Silver vereist. Het is raadzaam om het primaire clusterknooppunttype toe te wijden 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 instelling volledig wordt weggelaten in uw Resource Manager-sjabloon (het opgeven van een lege tekenreekswaarde reliabilityLevel reliabilityLevel voor is niet voldoende). Als u het cluster met één knooppunt instelt 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 staatloos 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 Service Fabric betrouwbare verzamelingen of betrouwbare Actors,wordt een minimum- en doelreplica van vijf aanbevolen. Hierdoor komt u in een stabiele status met een replica (van een replicaset) in elk foutdomein en upgradedomein. Gebruik in het algemeen het betrouwbaarheidsniveau dat u voor systeemservices in stelt als richtlijn voor het aantal replica's dat u gebruikt voor uw stateful services.
Staatloze workloads
Voor staatloze productieworkloads is de minimaal ondersteunde niet-primaire knooppunttypegrootte drie om het quorum te behouden. Een knooppunttypegrootte van vijf wordt echter aanbevolen.
Volgende stappen
Voordat u het cluster configureert, controleert u het upgradebeleid voor het cluster om te voorkomen dat u het cluster later opnieuw moet maken vanwege anderszins Not Allowed onveranderbare systeemconfiguratie-instellingen.
Zie voor meer informatie over clusterplanning: