Die Systemarchitektur, die für die Installation von SaltStack Config erforderlich ist, hängt von zwei Hauptfaktoren ab: 1) der Installationsmethode, die Sie zum Bereitstellen von SaltStack Config verwenden, und 2) dem Durchsatz Ihrer Umgebung, d. h. der Umfang der Arbeit, die Sie auf Ihrem System mit SaltStack Config durchführen.

Bevor Sie beginnen

Um eine genaue Bewertung der Anforderungen Ihrer Systemarchitektur vorzunehmen, sollten Sie zunächst sicherstellen, dass Sie mit Folgendem vertraut sind:

  • Die beiden verfügbaren Installationsmethoden für SaltStack Config
  • Die vier grundlegenden Komponenten der SaltStack Config-SaltStack-Architektur (RaaS, Salt-Master, PostgreSQL und Redis)

Eine Übersicht über diese Konzepte, einschließlich eines allgemeinen Überblicks über den Installationsvorgang, finden Sie unter Installieren und Konfigurieren von SaltStack Config. Weitere Informationen zur Auswahl eines Installationsszenarios finden Sie unter Welches Installationsszenario sollten Sie verwenden?.

Hinweis:

SaltStack Config wird von Salt unterstützt, einer Open-Source-Automatisierungs- und Konfigurations-Management-Engine. Wenn Sie mit in Salt verwendeten Schlüsselbegriffen (wie Salt-Master und Salt-Minion) weniger vertraut sind, finden Sie weitere Informationen unter Salt-Systemarchitektur.

Bestimmen der Minion-Architektur

Im Kontext von SaltStack Config bezieht sich ein Minion im Allgemeinen auf einen Knoten in Ihrer Produktionsumgebung, der über einen oder mehrere Salt-Master eine Verbindung mit SaltStack Config herstellt und von dieser Instanz verwaltet wird.

Salt wurde für die Verwendung mit allen Betriebssystemen entwickelt, die möglicherweise auf einem Minion ausgeführt werden. Zusätzlich zu den Standardbetriebssystemen (Linux, Windows, MacOS) bietet Salt spezielle Minion-Software (im Allgemeinen als „native Minions“ bezeichnet) für Betriebssysteme, die für verschiedene Netzwerkgeräte wie Arista, Juniper, AIX und Solaris eindeutig sind.

In dieser Tabelle sind die Mindestanforderungen an den Arbeitsspeicher für den Salt-Minion-Dienst nach Betriebssystemen aufgelistet:

Betriebssystem Mindestanforderungen an den Arbeitsspeicher
AIX-Minion 512 MB RAM
MacOS-Minion 4 GB RAM
Linux-Minion 512 MB RAM
Windows-Minion 4 GB RAM
Andere Netzwerkgeräte, einschließlich Proxy-Minions 40 MB RAM pro gesteuertem Gerät

Ermitteln Sie Ihr Installationsszenario

Weitere Informationen zur Auswahl eines Installationsszenarios finden Sie in Welches Installationsszenario sollten Sie verwenden?. Wenn Sie sich nicht sicher sind, welche Installationsmethode für Ihr System am besten geeignet ist, wird die Standardinstallation empfohlen. Die Lifecycle Manager-Installationsmethode wird für Produktionsklassensysteme mit mehr als 1.000 Knoten nicht empfohlen.

Wenn Sie eine Lifecycle Manager-Installation auswählen, werden nur ein Knoten und die folgende Systemarchitektur benötigt:

Hardware Bis zu 1.000 Knoten (Minions)
Kerne 16 CPU-Kerne
RAM 32 GB RAM
Festplattenspeicher Mindestens 260 GB freier Speicher

In einem Teil des Handbuchs werden die Architekturanforderungen für das Standardinstallationsszenario erläutert.

Schätzen Sie die Anzahl der Salt-Minions, die Sie verwalten werden.

Obwohl der Durchsatz Ihres Systems vor der Installation schwer zu messen ist, können Sie Ihren Bedarf basierend auf der Anzahl der Minions (Knoten) in Ihrem System schätzen, die von SaltStack Config verwaltet werden. Der letzte Abschnitt dieses Handbuchs enthält zusätzliche Messungen zum Ermitteln Ihres Systemdurchsatzes.

Wenn Sie weitere Salt-Minions durch SaltStack Config verwalten, müssen Sie möglicherweise Ihre Systemarchitektur entsprechend erweitern.

Schätzen Sie die Anzahl der benötigten Salt-Master.

In dieser Tabelle wird die empfohlene Anzahl von Salt-Mastern aufgelistet, die Sie möglicherweise basierend auf der Anzahl der verwalteten Salt-Minions (Knoten) in Ihrem System benötigen:

Minions Salt-Master (16 CPUs/16 GB)
5.000 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
Hinweis:

In diesem Dokument wird die lokale Architektur von SaltStack Config beschrieben. SaltStack Config-Cloud kann derzeit nur einen Salt-Master ausführen, d. h., er ist auf weniger als 20.000 Minions begrenzt.

Schätzen Sie die Anzahl der benötigten RaaS-Knoten.

In dieser Tabelle wird die empfohlene Anzahl von RaaS-Knoten aufgelistet, die Sie möglicherweise basierend auf der Anzahl der verwalteten Salt-Minions (Knoten) in Ihrem System benötigen:

Minions RaaS-Knoten mit 16 CPUs/16 GB RaaS-Knoten mit 32 CPUs/32 GB
5.000 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

Schätzen Sie die Anzahl der benötigten PostgreSQL-Knoten.

Die nächsten beiden Tabellen enthalten die empfohlene Anzahl an PostgreSQL-Datenbankknoten, die Sie möglicherweise basierend auf der Anzahl der verwalteten Salt-Minions (Knoten) in Ihrem System benötigen:

Minions PostgreSQL-Knoten mit 8 CPUs/8 GB PostgreSQL-Knoten mit 16 CPUs/16 GB PostgreSQL-Knoten mit 24 CPUs/24 GB PostgreSQL-Knoten mit 32 CPUs/32 GB
5.000 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-Knoten mit 48 CPUs/48 GB PostgreSQL-Knoten mit 56 CPUs/56 GB PostgreSQL-Knoten mit 64 CPUs/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

Schätzen Sie die Anzahl der benötigten Redis-Knoten.

Die nächsten beiden Tabellen enthalten die empfohlene Anzahl an Redis-Datenbankknoten, die Sie möglicherweise basierend auf der Anzahl der verwalteten Salt-Minions (Knoten) in Ihrem System benötigen:

Minions Redis-Knoten mit 4 CPUs/4 GB Redis-Knoten mit 8 CPU/8 GB Redis-Knoten mit 12 CPUs/12 GB
5.000 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-Knoten mit 16 CPU/16 GB Redis-Knoten mit 20 CPUs/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

Optimieren Sie Ihre Architektur nach der Installation basierend auf dem Durchsatz.

Nachdem Sie Ihre SaltStack Config-Installation abgeschlossen haben, können Sie Systemüberwachungsmetriken verwenden, um den Durchsatz und die architektonischen Anforderungen Ihres Systems besser zu ermitteln.

Beachten Sie bei der Bestimmung, was überwacht werden soll, die folgenden Faktoren:

  • Menge des Datenverkehrs auf dem Ereignissystem – Das Ereignissystem (auch als „Ereignisbus“ bezeichnet) wird für die Kommunikation zwischen den Prozessen sowohl von Salt-Master als auch von Salt-Minions verwendet. Wenn Ihr Ereignisbus sehr ausgelastet ist, sollten Sie die Erhöhung Ihrer Arbeitsspeicherzuteilungen in Betracht ziehen.
  • Auftragsrückgaben pro StundeSaltStack Config verwendet den Begriff „Aufträge“, um auf jeden der Befehle, Aufgaben und Vorgänge zu verweisen, die von SaltStack Config ausgeführt werden. Jeder Auftrag sendet seine Ausgabe zu Berichts- und Datenerfassungszwecken an SaltStack Config. Die Anzahl der Auftragsrückgaben, die Ihr System innerhalb einer bestimmten Stunde produziert, kann sich auf Ihre Architekturanforderungen auswirken.
  • Menge der Pfeilerdaten – Pfeilerdaten sind Daten, die auf dem Salt-Master gespeichert werden müssen. Der Pfeiler wird in erster Linie zum Speichern von geheimen Schlüsseln oder anderen hochsensiblen Daten wie Kontoanmeldedaten, kryptografischen Schlüsseln oder Kennwörtern verwendet. Der Pfeiler ist auch nützlich, um nicht geheime Daten zu speichern, die Sie nicht direkt in Ihren Zustandsdateien ablegen möchten, wie z. B. Konfigurationsdaten. Die Menge der Daten, die auf Ihrem Salt-Master gespeichert werden (und später bei Bedarf von Minions aufgerufen werden) kann sich auf Ihre Arbeitsspeicher- und Datenspeicheranforderungen auswirken.
  • Menge der benutzerdefinierten Körnungen – Körnungen werden in Salt verwendet, um die Minions für einen bestimmten Auftrag oder Befehl als Ziel zu verwenden. Körnungen beziehen sich auf die grundlegenden Daten und Merkmale jedes Minion. Salt ist mit vielen vorgefertigten Körnungen ausgestattet. Beispielsweise können Sie Minions nach Betriebssystem, Domänenname, IP-Adresse, Kernel, Arbeitsspeicher und vielen anderen Systemeigenschaften als Ziel verwenden. Sie können auch benutzerdefinierte Grain-Daten erstellen, um eine Gruppe von Minions von einer anderen basierend auf einem Merkmal zu unterscheiden, das Sie in Ihrem System als eindeutiges Ziel verwenden. Die Anzahl der von Ihnen erstellten benutzerdefinierten Körnungen kann sich auf Ihre Architekturanforderungen auswirken.
  • Anzahl der Beacons und Reaktoren – Das Beacon-System ist ein Überwachungstool, das eine Vielzahl von Systemprozessen auf Salt-Minions überwachen kann. Beacons können Reaktoren auslösen, die dann bei der Implementierung einer Änderung oder bei der Behebung eines Problems helfen können. Wenn beispielsweise die Antwort eines Dienstes abgelaufen ist, kann das Reaktorsystem den Dienst neu starten. Bei Kopplung mit Reaktoren können Beacons automatisierte vorab verfasste Reaktionen auf Infrastruktur- und Anwendungsprobleme erstellen. Reaktoren erweitern Salt um automatisierte Reaktionen unter Verwendung von vorab verfassten Standardisierungszuständen. Wenn Ihr System über Beacons und Reaktoren verfügt, die regelmäßig aktiviert werden, kann dies die Anforderungen Ihrer Systemarchitektur erhöhen.
  • Anforderungen an Festplattengröße – Möglicherweise müssen Sie die Festplattengröße basierend auf der Anzahl der verwalteten Minions und für die Daten jedes Jahres erhöhen, die Sie im Speicher aufbewahren müssen. Wenn Sie beispielsweise über ein System mit hohem Durchsatz verfügen und sich Ihr System in einer stark regulierten Branche befindet, für die eine Datenspeicherung von 7 bis 8 Jahren erforderlich ist, kann dies eine höhere Festplattengröße und Speicherkapazität erfordern.
  • Geografischer Standort und Entfernung zwischen Komponenten – Bei einer Latenz von 65 ms oder mehr zwischen dem Salt-Master und dem Server, auf dem SaltStack Config (RaaS) ausgeführt wird, treten möglicherweise Probleme auf. Glücklicherweise ist Salt weniger anfällig für Latenz zwischen dem Salt-Minion und dem Salt-Master. Beachten Sie beim Ablegen dieser Komponenten, dass es besser ist, bei Bedarf den Master in der Nähe von RaaS und den Minion weiter entfernt zu platzieren.
  • Geschäftskritische Vorgänge – Wenn Sie bewerten, wie geschäftskritisch SaltStack Config in Ihrer Umgebung ist, fragen Sie sich, wie sehr sich ein SaltStack Config-Ausfall auf Ihr Unternehmen auswirken würde. Wenn die Instanz eine Stunde oder länger inaktiv wäre, würde dies schwerwiegende Auswirkungen haben? Falls ja, müssen Sie möglicherweise Hochverfügbarkeitsanforderungen für Ihre SaltStack Config-Systemarchitektur entwerfen.

Basierend auf diesen Faktoren sollten Sie inkrementell ihre Ressourcen erhöhen und die Auswirkungen auf die Leistung Ihres Systems überwachen. Erhöhen Sie beispielsweise Ihre Arbeitsspeicherzuteilungen um 4 GB RAM mit 4 CPUs.

Die folgende Abbildung zeigt ein Beispiel für ein SaltStack Config-Architekturdesign mit Hochverfügbarkeit:

Wie in diesem Bild dargestellt, stellen viele Hochverfügbarkeitssysteme eine Verbindung mit mehreren Salt-Mastern her. Hochverfügbarkeitssysteme erstellen auch oft Redundanz in die PostgreSQL- und Redis-Datenbanken, sodass eine ein Failover auf die andere durchführen kann. Beachten Sie, dass die aktuellen Hochverfügbarkeitslösungen für PostgreSQL und Redis nur manuelle Failover unterstützen.