GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Saltstack Master und Minion unter Debian 11

SaltStack ist eine kostenlose Open-Source- und Python-basierte Automatisierungs- und Konfigurationsverwaltungssoftware. Es ist ein Befehlszeilentool, mit dem Sie Ihre Infrastruktur von einem zentralen Ort aus verwalten können. SoltStack besteht aus vier Komponenten. Nachfolgend finden Sie eine kurze Erläuterung der einzelnen Komponenten:

  • Salzmeister fungiert als Befehlszeilen-Controller für seine Schergen. Es wird verwendet, um eine Reihe von Dienern zu kontrollieren und zu verwalten.
  • Salzminions sind Slave-Daemons, die Konfigurationen und Befehle vom Master erhalten.
  • Formel sind Konfigurationsverwaltungsdateien.
  • Ausführung ist eine Reihe von Befehlen und Modulen, die auf den Minions ausgeführt werden.

In diesem Artikel zeige ich Ihnen, wie Sie SaltStack Master- und Minion-Systeme unter Debian 11 installieren.

Voraussetzungen

  • Zwei Server mit Debian 11.
  • Auf dem Server ist ein Root-Passwort konfiguriert.

Saltstack-Master installieren

Standardmäßig ist SaltStack nicht im Standard-Repository von Debian 11 enthalten. Sie müssen also das SaltStack-Repository zu APT hinzufügen. Sie können es hinzufügen, indem Sie den folgenden Befehl ausführen:

curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/11/amd64/latest/salt-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/latest bullseye main " | tee /etc/apt/sources.list.d/salt.list

Sobald das Repository hinzugefügt wurde, aktualisieren Sie den Repository-Cache mit dem folgenden Befehl:

apt-get update -y

Installieren Sie als Nächstes die erforderlichen Abhängigkeiten mit dem folgenden Befehl:

apt-get install python3 salt-common -y

Als nächstes installieren Sie den SaltStack-Master mit dem folgenden Befehl:

apt-get install salt-master -y

Nach erfolgreicher Installation können Sie mit dem nächsten Schritt fortfahren.

Saltstack-Master konfigurieren

Als nächstes müssen Sie die Bind-Schnittstelle in der SaltSTack-Konfigurationsdatei definieren.

nano /etc/salt/master

Ändern Sie die folgende Zeile:

Schnittstelle:0.0.0.0

Speichern und schließen Sie die Datei und starten Sie dann den SaltStack-Master mit dem folgenden Befehl neu:

systemctl startet Salt-Master neu

Sie können jetzt den Status des SaltStacks mit dem folgenden Befehl überprüfen:

Systemctl-Status Salt-Master

Sie erhalten die folgende Ausgabe:

? salt-master.service - The Salt Master Server Geladen:geladen (/lib/systemd/system/salt-master.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sa 2022-02-12 07:39 :48 UTC; vor 9s Docs:man:salt-master(1) file:///usr/share/doc/salt/html/contents.html https://docs.saltproject.io/en/latest/contents.html Haupt-PID:19403 (salt-master) Tasks:32 (limit:2341) Arbeitsspeicher:201,5 MB CPU:6,109 s CGroup:/system.slice/salt-master.service ??19403 /usr/bin/python3 /usr/bin/salt- master ??19407 /usr/bin/python3 /usr/bin/salt-master ??19431 /usr/bin/python3 /usr/bin/salt-master ??19434 /usr/bin/python3 /usr/bin/salt -master ??19435 /usr/bin/python3 /usr/bin/salt-master ??19436 /usr/bin/python3 /usr/bin/salt-master ??19437 /usr/bin/python3 /usr/bin/ Salt-Master ??19444 /usr/bin/python3 /usr/bin/salt-Master ??19445 /usr/bin/python3 /usr/bin/salt-master ??19446 /usr/bin/python3 /usr/bin /salt-master ??19448 /usr/bin/python3 /usr/bin/salt-master ??19451 /usr/bin/python3 /usr/bin/salt-master ??19454 /usr/bin/python3 /usr/bin/salt-master12. Februar 07:39:48 debian11 systemd[1]:Starten des Salt Master Servers ... 12. Februar 07:39:48 debian11 systemd[1]:Salt Master Server gestartet.

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Saltstack Minion installieren und konfigurieren

An diesem Punkt ist SaltStack Master installiert und konfiguriert. Melden Sie sich jetzt bei einem anderen Computer an und fügen Sie das SaltStack Minion-Repository mit dem folgenden Befehl hinzu:

curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/11/amd64/latest/salt-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/latest bullseye main " | tee /etc/apt/sources.list.d/salt.list

Sobald das Repository hinzugefügt wurde, aktualisieren Sie den Repository-Cache mit dem folgenden Befehl:

apt-get update -y

Als nächstes installieren Sie den SaltStack Minion mit dem folgenden Befehl:

apt-get install Salt-Minion -y

Bearbeiten Sie nach erfolgreicher Installation die SaltStack Minion-Konfigurationsdatei und definieren Sie die Master-IP-Adresse.

nano /etc/salt/minion

Ändern Sie die folgende Zeile:

master:Salt-Master-IP

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Als Nächstes müssen Sie die Minions mit dem öffentlichen Fingerabdruck des Masters authentifizieren.

Listen Sie auf dem Salt Master-Computer alle Fingerabdrücke mit dem folgenden Befehl auf:

Salztaste --finger-all

Sie erhalten die folgende Ausgabe:

Lokale Schlüssel:master.pem:b7:f0:ed:19:bf:e8:e0:9d:c3:9c:a2:09:2c:97:2f:6b:0f:cb:eb:76:3d:d7:d5:a9:7d:0c:3a:60:6e:9f:d7:78master.pub:5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1

Kopieren Sie nun die Fingerprint-Zeile master.pub und fügen Sie sie der Minion-Konfigurationsdatei hinzu.

Bearbeiten Sie auf dem Minion-Computer die Konfigurationsdatei:

nano /etc/salt/minion

Fügen Sie den Master-Fingerabdruck wie unten gezeigt hinzu:

master_finger:'5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1'

Sie müssen auch den Namen des Dieners definieren:

ID:Minion1

Speichern und schließen Sie die Datei und starten Sie dann den SaltStack Minion mit dem folgenden Befehl neu:

systemctl startet Salt-Minion neu

Sie können den Status des SaltStack Minion auch mit dem folgenden Befehl überprüfen:

systemctl status Salt-Minion

Sie erhalten die folgende Ausgabe:

? salt-minion.service - The Salt Minion Geladen:geladen (/lib/systemd/system/salt-minion.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sa 12.02.2022 07:46:04 UTC; Vor 7 Sekunden Dokumente:man:salt-minion(1) file:///usr/share/doc/salt/html/contents.html https://docs.saltproject.io/en/latest/contents.html Haupt-PID:2324 (salt-minion) Tasks:8 (limit:2341) Arbeitsspeicher:59,9 MB CPU:1,185 s CGroup:/system.slice/salt-minion.service ??2324 /usr/bin/python3 /usr/bin/salt- minion ??2326 /usr/bin/python3 /usr/bin/salt-minion ??2328 /usr/bin/python3 /usr/bin/salt-minionFeb 12 07:46:04 debian11 systemd[1]:Starten von The Salt Minion ... 12. Februar 07:46:04 debian11 systemd[1]:Hat The Salt Minion gestartet.

Sie können den Minion-Fingerabdruck auch mit dem folgenden Befehl überprüfen:

salt-call key.finger --local

Sie erhalten die folgende Ausgabe:

lokal:14:12:ef:33:d2:1e:49:23:7b:a2:74:8d:19:fc:be:5e:6d:a6:57:ec:4f:a9:da :23:69:3f:62:1b:6b:4b:2f:27

Gleichen Sie auf dem SaltStack Master-Computer den Fingerabdruck mit dem folgenden Befehl ab:

Salztaste --finger-all

Sie erhalten die folgende Ausgabe:

Lokale Schlüssel:master.pem:b7:f0:ed:19:bf:e8:e0:9d:c3:9c:a2:09:2c:97:2f:6b:0f:cb:eb:76:3d:d7:d5:a9:7d:0c:3a:60:6e:9f:d7:78master.pub:5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1Nicht akzeptierte Schlüssel:Minion1:14:12:ef:33 :d2:1e:49:23:7b:a2:74:8d:19:fc:be:5e:6d:a6:57:ec:4f:a9:da:23:69:3f:62:1b:6b :4b:2f:27

Akzeptieren Sie auf dem SaltStack-Master den Minion mit dem folgenden Befehl:

salt-key -a Minion1

Sie erhalten die folgende Ausgabe:

Die folgenden Schlüssel werden akzeptiert:Nicht akzeptierte Schlüssel:Minion1Fortfahren? [n/Y] YKey für Minion Minion1 akzeptiert.

Überprüfen Sie nun die Verbindung zwischen Master und Minion mit dem folgenden Befehl:

salt Minion1 test.ping

Sie erhalten die folgende Ausgabe:

Minion1:Richtig

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Steuere Schergen vom Meister

Nach der erfolgreichen Verbindung zwischen Master und Minion. Beginnen wir damit, einige Befehle auf den Minions auszuführen.

Führen Sie den folgenden Befehl aus, um den verfügbaren Speicherplatz auf Minion aufzulisten:

Salt '*' disk.usage

Sie erhalten die folgende Ausgabe:

Minion1:---------- /:---------- 1K-Blöcke:51538400 verfügbar:47658628 Kapazität:4% Dateisystem:/dev/sda1 verwendet:1661604 /dev :---------- 1K-Blöcke:998936 verfügbar:998936 Kapazität:0% Dateisystem:udev verwendet:0 /dev/shm:---------- 1K-Blöcke:1015232 verfügbar :1015152 Kapazität:1% Dateisystem:tmpfs verwendet:80

Führen Sie den folgenden Befehl aus, um das Apache-Paket auf dem Minion zu installieren:

salt Minion1 pkg.install apache2

Sie erhalten die folgende Ausgabe:

Minion1:---------- Apache2:---------- neu:2.4.52-1~deb11u2 alt:apache2-bin:-------- -- neu:2.4.52-1~deb11u2 alt:apache2-data:---------- neu:2.4.52-1~deb11u2 alt:apache2-utils:-------- -- neu:2.4.52-1~deb11u2 alt:libapr1:---------- neu:1.7.0-6+deb11u1 alt:libaprutil1:---------- neu:1.6.1-5 alt:libaprutil1-dbd-sqlite3:---------- neu:1.6.1-5 alt:libaprutil1-ldap:---------- neu:1.6. 1-5 Jahre alt:

Führen Sie den folgenden Befehl aus, um den freien Speicher auf dem Minion zu überprüfen:

salt '*' cmd.run 'free -m'

Sie erhalten die folgende Ausgabe:

Minion1:insgesamt verwendeter kostenloser gemeinsamer Buff/Cache verfügbar Speicher:1982 140 1392 2 450 1691 Swap:0 0 0

Salt-State-Datei zum Verwalten von Minions verwenden

Statusdateien werden auch als Konfigurationsverwaltungsdateien bezeichnet, die zum Konfigurieren und Verwalten von Minions verwendet werden.

Um eine Zustandsdatei zu erstellen, müssen Sie die Umgebungsbasis für SaltStack erstellen.

mkdir /src/salt

Erstellen Sie als Nächstes eine Statusdatei mit dem folgenden Befehl:

nano /src/salt/setup.sls

Fügen Sie den folgenden Code hinzu, um das PHP-, UNZIP- und Apache-Paket auf Minions zu installieren:

network_utilities:pkg.installed:- pkgs:- php - unzip apache2_pkg:pkg.installed:- name:apache2 apache2_service:service.running:- name:apache2 - enable:True - require:- pkg:apache2_pkg

Speichern und schließen Sie die Datei und wenden Sie dann die Konfiguration mit dem folgenden Befehl auf alle Minions an:

salt '*' state.apply setup

Sie erhalten die folgende Ausgabe:

Minion1:---------- ID:network_utilities Funktion:pkg.installed Ergebnis:True Kommentar:Die folgenden Pakete wurden installiert/aktualisiert:php, unzip Begonnen:07:51:22.424504 Dauer:17349.907 ms Änderungen:---------- libapache2-mod-php7.4:---------- neu:7.4.25-1+deb11u1 alt:php:------- --- neu:2:7.4+76 alt:php-common:---------- neu:2:76 alt:php7.4:---------- neu:7.4 .25-1+deb11u1 alt:php7.4-cli:---------- neu:7.4.25-1+deb11u1 alt:php7.4-common:--------- - Neu:7.4.25-1+deb11u1 alt:php7.4-json:---------- neu:7.4.25-1+deb11u1 alt:php7.4-opcache:-------- -- neu:7.4.25-1+deb11u1 alt:php7.4-readline:---------- neu:7.4.25-1+deb11u1 alt:psmisc:-------- -- neu:23.4-2 alt:entpacken:---------- neu:6.0-26 alt:---------- ID:apache2_pkg Funktion:pkg.installed Name:apache2 Ergebnis :True Kommentar:Alle angegebenen Pakete sind bereits installiert Gestartet:07:51:39.780956 Dauer:1029,457 ms Änderungen:---------- ID:apache2_service Funktion:serv ice.running Name:apache2 Ergebnis:True Kommentar:Der Dienst apache2 läuft bereits Started:07:51:40.812210 Dauer:35,61 ms Änderungen:Zusammenfassung für Minion1------------Erfolgreich:3 (geändert =1)Fehlgeschlagen:0------------Gesamtstatus ausgeführt:3Gesamtlaufzeit:18.415 s

Schlussfolgerung

Herzliche Glückwünsche! Sie haben SaltStack Master und Minion erfolgreich auf dem Debian 11-Server installiert und konfiguriert. Wir haben auch erklärt, wie Minions mithilfe von Statusdateien und der Befehlszeile verwaltet werden. Ich hoffe, dies wird Ihnen helfen, Ihre Infrastruktur von einem zentralen Standort aus zu automatisieren und zu verwalten. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.


Debian
  1. So installieren und verwenden Sie Ansible unter Debian 11

  2. So installieren Sie Node.js und npm unter Debian 11

  3. Wie lässt sich der Befehl python3 dazu bringen, Python 3.6 anstelle von 3.5 auszuführen?

  4. Was bedeuten /usr/sbin, /usr/local/sbin und /usr/local/bin?

  5. Unterschied zwischen /bin und /usr/bin

So installieren und konfigurieren Sie Redmine unter Debian 9

So installieren und verwenden Sie FFmpeg unter Debian 10

So installieren und konfigurieren Sie Monit unter Debian 9

So installieren Sie Icinga 2 und Icinga Web 2 unter Debian 9

So installieren und verwenden Sie FFmpeg unter Debian 11

So installieren und konfigurieren Sie Git in Debian 11