De systeemarchitectuur die is vereist om SaltStack Config te installeren, is afhankelijk van twee hoofdfactoren: 1) de installatiemethode die u gebruikt om SaltStack Config te implementeren en 2) de doorvoercapaciteit van uw omgeving, met andere woorden de hoeveelheid werk die u met SaltStack Config op uw systeem zult uitvoeren.
Voordat u aan de slag gaat
Om correct te kunnen inschatten wat uw systeemarchitectuur nodig heeft, moet u er eerst voor zorgen dat u vertrouwd bent met:
- De twee beschikbare installatiemethoden voor SaltStack Config
- De vier basisonderdelen van de SaltStack Config SaltStack-architectuur (RaaS, de Salt-master, PostgreSQL en Redis)
Zie SaltStack Config installeren en configureren voor een overzicht van deze concepten, waaronder een algemeen overzicht van het installatieproces. Zie ook Welk installatiescenario wilt u gebruiken? voor hulp bij het selecteren van een installatiescenario.
SaltStack Config werkt op Salt, een opensource-engine voor automatiserings- en configuratiebeheer. Als u minder bekend bent met belangrijke termen die worden gebruikt in Salt (zoals Salt-master en Salt-minion), raadpleegt u Salt-systeemarchitectuur voor meer informatie.
Minionarchitectuur bepalen
In de context van SaltStack Config verwijst een minion doorgaans naar een knooppunt in uw productieomgeving dat verbinding maakt met en wordt beheerd door SaltStack Config via een of meer Salt-masters.
Salt is ontworpen om te werken met elk besturingssysteem dat mogelijk op een minion wordt uitgevoerd. Naast de standaardbesturingssystemen (Linux, Windows, MacOS) biedt Salt gespecialiseerde minionsoftware (doorgaans aangeduid als 'native minions') voor besturingssystemen die uniek zijn voor verschillende netwerkapparaten zoals Arista, Juniper, AIX en Solaris.
Deze tabel bevat de minimale geheugenvereisten voor de Salt-minionservice per besturingssysteem:
Besturingssysteem | Minimale geheugenvereisten |
---|---|
AIX-minion | 512 MB RAM |
MacOS-minion | 4 GB RAM |
Linux-minion | 512 MB RAM |
Windows-minion | 4 GB RAM |
Andere netwerkapparaten, waaronder proxyminions | 40 MB RAM per beheerd apparaat |
Uw installatiescenario bepalen
Zie Welk installatiescenario wilt u gebruiken? voor hulp bij het selecteren van een installatiescenario. Als u niet zeker weet welke installatiemethode het beste voor uw systeem is, wordt de standaardinstallatie aanbevolen. De Lifecycle Manager-installatiemethode wordt niet aanbevolen voor systemen op productieniveau met meer dan 1000 knooppunten.
Als u een Lifecycle Manager-installatie kiest, is er slechts één knooppunt vereist en heeft u de volgende systeemarchitectuur nodig:
Hardware | Tot 1000 knooppunten (minions) |
---|---|
Kernen | 8 CPU-kernen |
RAM | 16 GB RAM |
Schijfruimte | Ten minste 40 GB beschikbare schijfruimte |
In het resterende gedeelte van deze handleiding beschrijven we de architectuurbehoeften voor het standaardinstallatiescenario.
Schat het aantal Salt-minions dat u gaat beheren
Hoewel de doorvoercapaciteit van uw systeem moeilijk te meten is vóór de installatie, kunt u uw behoeften schatten op basis van het aantal minions (knooppunten) in uw systeem dat door SaltStack Config zal worden beheerd. In de laatste sectie van deze handleiding vindt u nog meer metingen voor het bepalen van de doorvoercapaciteit van uw systeem.
Wanneer u meer Salt-minions onder beheer van SaltStack Config brengt, moet u mogelijk uw systeemarchitectuur uitbreiden.
Het aantal Salt-masters schatten dat u gaat beheren
Deze tabel bevat het aanbevolen aantal Salt-masters dat u mogelijk nodig heeft op basis van het aantal beheerde Salt-minions (knooppunten) in uw systeem:
Minions | Salt-masters (16 CPU's/16 GB) |
---|---|
5000 | 1 |
10.000 | 2 |
15.000 | 3 |
20.000 | 4 |
25.000 | 5 |
30.000 | 6 |
35.000 | 7 |
40.000 | 8 |
45.000 | 9 |
50.000 | 10 |
55.000 | 11 |
60.000 | 12 |
65.000 | 13 |
70.000 | 14 |
75.000 | 15 |
80.000 | 16 |
85.000 | 17 |
90.000 | 18 |
95.000 | 19 |
100.000 | 20 |
In dit document beschrijven we de SaltStack Config-architectuur op locatie. SaltStack Config Cloud kan momenteel slechts met één Salt-master worden uitgevoerd, wat betekent dat u beperkt bent tot minder dan 20.000 minions.
Schat het aantal RaaS-knooppunten dat u nodig heeft
Deze tabel bevat het aanbevolen aantal RaaS-knooppunten dat u mogelijk nodig heeft op basis van het aantal beheerde Salt-minions (knooppunten) in uw systeem:
Minions | RaaS-knooppunten met 16 CPU's/16 GB | RaaS-knooppunten met 32 CPU's/32 GB |
---|---|---|
5000 | 1 | |
10.000 | 1 | |
15.000 | 1 | |
20.000 | 1 | |
25.000 | 2 | |
30.000 | 2 | |
35.000 | 2 | |
40.000 | 2 | |
45.000 | 1 | 1 |
50.000 | 1 | 1 |
55.000 | 1 | 1 |
60.000 | 1 | 1 |
65.000 | 2 | |
70.000 | 2 | |
75.000 | 2 | |
80.000 | 2 | |
85.000 | 1 | 2 |
90.000 | 1 | 2 |
95.000 | 1 | 2 |
100.000 | 1 | 2 |
Schat het aantal PostgreSQL-knooppunten dat u nodig heeft
De volgende twee tabellen bevatten het aanbevolen aantal PostgreSQL-databaseknooppunten dat u mogelijk nodig heeft op basis van het aantal beheerde Salt-minions (knooppunten) in uw systeem:
Minions | PostgreSQL-knooppunten met 8 CPU's/8 GB | PostgreSQL-knooppunten met 16 CPU's/16 GB | PostgreSQL-knooppunten met 24 CPU's/24 GB | PostgreSQL-knooppunten met 32 CPU's/32 GB |
---|---|---|---|---|
5000 | 1 | |||
10.000 | 1 | |||
15.000 | 1 | |||
20.000 | 1 | |||
25.000 | 1 | |||
30.000 | 1 | |||
35.000 | 1 | |||
40.000 | 1 | |||
45.000 | 1 | |||
50.000 | 1 | |||
55.000 | 1 | |||
60.000 | 1 |
Minions | PostgreSQL-knooppunten met 48 CPU's/48 GB | PostgreSQL-knooppunten met 56 CPU's/56 GB | PostgreSQL-knooppunten met 64 CPU's/64 GB |
---|---|---|---|
65.000 | 1 | ||
70.000 | 1 | ||
75.000 | 1 | ||
80.000 | 1 | ||
85.000 | 1 | ||
90.000 | 1 | ||
95.000 | 1 | ||
100.000 | 1 |
Schat het aantal Redis-knooppunten dat u nodig heeft
De volgende twee tabellen bevatten het aanbevolen aantal Redis-databaseknooppunten dat u mogelijk nodig heeft op basis van het aantal beheerde Salt-minions (knooppunten) in uw systeem:
Minions | Redis-knooppunten met 4 CPU's/4 GB | Redis-knooppunten met 8 CPU's/8 GB | Redis-knooppunten met 12 CPU's/12 GB |
---|---|---|---|
5000 | 1 | ||
10.000 | 1 | ||
15.000 | 1 | ||
20.000 | 1 | ||
25.000 | 1 | ||
30.000 | 1 | ||
35.000 | 1 | ||
40.000 | 1 | ||
45.000 | 1 | ||
50.000 | 1 | ||
55.000 | 1 | ||
60.000 | 1 |
Minions | Redis-knooppunten met 16 CPU's/16 GB | Redis-knooppunten met 20 CPU's/20 GB |
---|---|---|
65.000 | 1 | |
70.000 | 1 | |
75.000 | 1 | |
80.000 | 1 | |
85.000 | 1 | |
90.000 | 1 | |
95.000 | 1 | |
100.000 | 1 |
Uw architectuur na installatie optimaliseren op basis van doorvoercapaciteit
Nadat u uw SaltStack Config-installatie heeft voltooid, kunt u systeembewakingsstatistieken gebruiken om de doorvoer- en architectuurbehoeften van uw systeem beter te bepalen.
Houd rekening met de volgende factoren wanneer u bepaalt wat er moet worden bewaakt:
- Hoeveelheid verkeer op het gebeurtenissysteem - Het gebeurtenissysteem (soms ook wel de 'gebeurtenisbus' genoemd) wordt gebruikt voor communicatie tussen processen door zowel de Salt-master als de Salt-minions. Als uw gebeurtenisbus erg druk bezet is, kunt u overwegen uw geheugentoewijzingen uit te breiden.
- Opdrachtresultaten per uur - SaltStack Config gebruikt de term opdrachten om te verwijzen naar elk van de commando's, taken en bewerkingen die door SaltStack Config worden uitgevoerd. Elke opdracht verzendt de uitvoer naar SaltStack Config voor rapportage- en gegevensverzamelingsdoeleinden. Het aantal opdrachtresultaten dat uw systeem binnen een bepaald uur produceert, kan invloed hebben op uw architectuurbehoeften.
- Hoeveelheid pillargegevens - Pillargegevens zijn gegevens die moeten worden opgeslagen op de Salt-master. Pillar wordt voornamelijk gebruikt voor het opslaan van geheimen of andere zeer gevoelige gegevens, zoals accountverificatiegegevens, cryptografische sleutels of wachtwoorden. Pillar is ook nuttig om niet-geheime gegevens op te slaan die u niet rechtstreeks in uw statusbestanden wilt plaatsen, zoals configuratiegegevens. De hoeveelheid gegevens die op uw Salt-master wordt opgeslagen (en later zo nodig wordt geraadpleegd door minions), kan invloed hebben op uw geheugen- en gegevensopslagbehoeften.
- Aantal aangepaste grains - Grains worden in Salt gebruikt om de minions te targeten voor een bepaalde opdracht of een bepaald commando. Grains verwijzen naar de basisgegevens en -kenmerken van elke minion. Salt wordt geleverd met veel vooraf gebouwde grains. U kunt bijvoorbeeld minions targeten op hun besturingssysteem, domeinnaam, IP-adres, kernel, geheugen en vele andere systeemeigenschappen. U kunt ook aangepaste graingegevens maken om één groep minions te onderscheiden van een andere op basis van een kenmerk dat u als uniek doel heeft in uw systeem. Het aantal aangepaste grains dat u maakt, kan invloed hebben op uw architectuurbehoeften.
- Aantal beacons en reactors - Het beaconsysteem is een bewakingstool die naar uiteenlopende systeemprocessen op Salt-minions kan luisteren. Beacons kunnen reactors activeren die vervolgens een wijziging helpen implementeren of problemen helpen oplossen. Als bijvoorbeeld een time-out optreedt voor het antwoord van een service, kan het reactorsysteem de service opnieuw starten. Indien gekoppeld aan reactors, kunnen beacons geautomatiseerde, vooraf geschreven antwoorden maken voor problemen met infrastructuur en applicaties. Reactors breiden Salt uit met geautomatiseerde antwoorden met behulp van vooraf geschreven correctiestatussen. Als uw systeem beacons en reactors heeft die regelmatig worden geactiveerd, kan dit uw systeemarchitectuurbehoeften verhogen.
- Schijfgroottebehoeften - Mogelijk moet u de grootte van uw schijf uitbreiden op basis van het aantal minions dat wordt beheerd en voor de hoeveelheid gegevens die u elk jaar moet bewaren in de opslag. Als u bijvoorbeeld een systeem met hoge doorvoercapaciteit heeft en uw systeem zich in een sector met strikte regelgeving bevindt waarvoor 7-8 jaar gegevensopslag is vereist, is mogelijk een grotere schijfgrootte en opslagcapaciteit vereist.
- Geografische locatie en afstand tussen onderdelen - U kunt problemen ondervinden als er een latentie van 65 ms of meer is tussen de Salt-master en de server waarop SaltStack Config (RaaS) wordt uitgevoerd. Gelukkig is Salt minder gevoelig voor latentie tussen de Salt-minion en de Salt-master. Houd er bij het plaatsen van deze onderdelen rekening mee dat het beter is om de master in de buurt van RaaS en de minion verder weg te plaatsen, indien nodig.
- Bedrijfskritische activiteiten - Wanneer u gaat beoordelen hoe bedrijfskritisch SaltStack Config is in uw omgeving, stelt u zich de vraag hoe ernstig de impact van een uitval van SaltStack Config op uw bedrijf zou zijn. Als de uitvaltijd een uur of meer is, zou dit een ernstige impact hebben? Zo ja, dan moet u mogelijk behoeften voor hoge beschikbaarheid in uw SaltStack Config-systeemarchitectuur ontwerpen.
Op basis van deze factoren kunt u overwegen uw resources stapsgewijs te verhogen en de impact op de prestaties van uw systeem te bewaken. Bijvoorbeeld: geheugentoewijzingen met 4 GB RAM met 4 CPU's verhogen.
De volgende afbeelding toont een voorbeeld van een SaltStack Config-architectuurontwerp met hoge beschikbaarheid:
Zoals u op deze afbeelding ziet, maken vele systemen met hoge beschikbaarheid verbinding met meerdere Salt-masters. Systemen met hoge beschikbaarheid bouwen ook vaak redundantie in de PostgreSQL-database en Redis-databases in zodat kan worden teruggevallen op een volgende. Houd er rekening mee dat de huidige oplossingen voor hoge beschikbaarheid voor PostgreSQL en Redis alleen handmatige failovers ondersteunen.