Installation · 7 min read · Nov 15, 2025

Wie man Saltstack Master und Minion auf Debian 11 installiert

SaltStack ist eine kostenlose, Open-Source- und auf Python basierende Automatisierungs- und Konfigurationsmanagement-Software. Es ist ein Befehlszeilenwerkzeug, das Ihnen hilft, Ihre Infrastruktur von einem zentralen Ort aus zu verwalten. SaltStack besteht aus vier Komponenten. Eine kurze Erklärung jeder Komponente ist unten aufgeführt:

  • Salt Master fungiert als Befehlszeilencontroller für seine Minions. Es wird verwendet, um eine Anzahl von Minions zu steuern und zu verwalten.
  • Salt Minions sind Slave-Daemons, die Konfigurationen und Befehle vom Master empfangen.
  • Formel sind Konfigurationsmanagement-Dateien.
  • Ausführung ist eine Anzahl von Befehlen und Modulen, die auf den Minions ausgeführt werden.

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

Voraussetzungen

  • Zwei Server, die Debian 11 ausführen.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Saltstack Master installieren

Standardmäßig ist SaltStack nicht im Standard-Repository von Debian 11 enthalten. Daher müssen Sie das SaltStack-Repository zu APT hinzufügen. Sie können dies tun, 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

Als nächstes installieren Sie 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 der erfolgreichen 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:

interface: 0.0.0.0

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

systemctl restart salt-master

Sie können jetzt den Status von SaltStack mit dem folgenden Befehl überprüfen:

systemctl status salt-master

Sie erhalten die folgende Ausgabe:

? salt-master.service - Der Salt Master Server
     Loaded: loaded (/lib/systemd/system/salt-master.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-02-12 07:39:48 UTC; 9s ago
       Docs: man:salt-master(1)
             file:///usr/share/doc/salt/html/contents.html
             https://docs.saltproject.io/en/latest/contents.html
   Main PID: 19403 (salt-master)
      Tasks: 32 (limit: 2341)
     Memory: 201.5M
        CPU: 6.109s
     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-master

Feb 12 07:39:48 debian11 systemd[1]: Starting Der Salt Master Server...
Feb 12 07:39:48 debian11 systemd[1]: Started Der Salt Master Server.

Sobald 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 nun an 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 das SaltStack Minion mit dem folgenden Befehl:

apt-get install salt-minion -y

Nach der erfolgreichen Installation bearbeiten Sie die SaltStack Minion-Konfigurationsdatei und definieren die IP-Adresse des Masters.

nano /etc/salt/minion

Ändern Sie die folgende Zeile:

master: salt-master-ip

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

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

Auf der Salt Master-Maschine listen Sie alle Fingerabdrücke mit dem folgenden Befehl auf:

salt-key --finger-all

Sie erhalten die folgende Ausgabe:

Local Keys:
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:78
master.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

Jetzt kopieren Sie die master.pub-Fingerabdruckzeile und fügen Sie sie in die Minion-Konfigurationsdatei ein.

Auf der Minion-Maschine bearbeiten Sie 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 Minions definieren:

id: Minion1

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

systemctl restart salt-minion

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

systemctl status salt-minion

Sie erhalten die folgende Ausgabe:

? salt-minion.service - Der Salt Minion
     Loaded: loaded (/lib/systemd/system/salt-minion.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-02-12 07:46:04 UTC; 7s ago
       Docs: man:salt-minion(1)
             file:///usr/share/doc/salt/html/contents.html
             https://docs.saltproject.io/en/latest/contents.html
   Main PID: 2324 (salt-minion)
      Tasks: 8 (limit: 2341)
     Memory: 59.9M
        CPU: 1.185s
     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-minion

Feb 12 07:46:04 debian11 systemd[1]: Starting Der Salt Minion...
Feb 12 07:46:04 debian11 systemd[1]: Started Der Salt Minion.

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

salt-call key.finger --local

Sie erhalten die folgende Ausgabe:

local:
    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

Auf der SaltStack Master-Maschine vergleichen Sie den Fingerabdruck mit dem folgenden Befehl:

salt-key --finger-all

Sie erhalten die folgende Ausgabe:

Local Keys:
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:78
master.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
Unaccepted Keys:
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

Auf dem SaltStack Master akzeptieren Sie den Minion mit dem folgenden Befehl:

salt-key -a Minion1

Sie erhalten die folgende Ausgabe:

Die folgenden Schlüssel werden akzeptiert:
Unaccepted Keys:
Minion1
Proceed? [n/Y] Y
Key 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:
    True

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

Minions vom Master aus steuern

Nach der erfolgreichen Verbindung zwischen Master und Minion. Lassen Sie uns einige Befehle auf den Minions ausführen.

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

salt '*' disk.usage

Sie erhalten die folgende Ausgabe:

Minion1:
    ----------
    /:
        ----------
        1K-blocks:
            51538400
        available:
            47658628
        capacity:
            4%
        filesystem:
            /dev/sda1
        used:
            1661604
    /dev:
        ----------
        1K-blocks:
            998936
        available:
            998936
        capacity:
            0%
        filesystem:
            udev
        used:
            0
    /dev/shm:
        ----------
        1K-blocks:
            1015232
        available:
            1015152
        capacity:
            1%
        filesystem:
            tmpfs
        used:
            80

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

salt Minion1 pkg.install apache2

Sie erhalten die folgende Ausgabe:

Minion1:
    ----------
    apache2:
        ----------
        new:
            2.4.52-1~deb11u2
        old:
    apache2-bin:
        ----------
        new:
            2.4.52-1~deb11u2
        old:
    apache2-data:
        ----------
        new:
            2.4.52-1~deb11u2
        old:
    apache2-utils:
        ----------
        new:
            2.4.52-1~deb11u2
        old:
    libapr1:
        ----------
        new:
            1.7.0-6+deb11u1
        old:
    libaprutil1:
        ----------
        new:
            1.6.1-5
        old:
    libaprutil1-dbd-sqlite3:
        ----------
        new:
            1.6.1-5
        old:
    libaprutil1-ldap:
        ----------
        new:
            1.6.1-5
        old:

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

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

Sie erhalten die folgende Ausgabe:

Minion1:
                   total        used        free      shared  buff/cache   available
    Mem:            1982         140        1392           2         450        1691
    Swap:              0           0           0

Verwenden Sie die Salt-Zustandsdatei zur Verwaltung von Minions

Zustandsdateien sind auch als Konfigurationsmanagement-Dateien bekannt, die verwendet werden, um Minions zu konfigurieren und zu verwalten.

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

mkdir /src/salt

Erstellen Sie als nächstes eine Zustandsdatei mit dem folgenden Befehl:

nano /src/salt/setup.sls

Fügen Sie den folgenden Code hinzu, um PHP, UNZIP und das Apache-Paket auf den 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 Sie die Datei und schließen Sie sie, und wenden Sie dann die Konfiguration auf alle Minions mit dem folgenden Befehl an:

salt '*' state.apply setup

Sie erhalten die folgende Ausgabe:

Minion1:
----------
          ID: network_utilities
    Function: pkg.installed
      Result: True
     Comment: Die folgenden Pakete wurden installiert/aktualisiert: php, unzip
     Started: 07:51:22.424504
    Duration: 17349.907 ms
     Changes:   
              ----------
              libapache2-mod-php7.4:
                  ----------
                  new:
                      7.4.25-1+deb11u1
                  old:
              php:
                  ----------
                  new:
                      2:7.4+76
                  old:
              php-common:
                  ----------
                  new:
                      2:76
                  old:
              php7.4:
                  ----------
                  new:
                      7.4.25-1+deb11u1
                  old:
              php7.4-cli:
                  ----------
                  new:
                      7.4.25-1+deb11u1
                  old:
              php7.4-common:
                  ----------
                  new:
                      7.4.25-1+deb11u1
                  old:
              php7.4-json:
                  ----------
                  new:
                      7.4.25-1+deb11u1
                  old:
              php7.4-opcache:
                  ----------
                  new:
                      7.4.25-1+deb11u1
                  old:
              php7.4-readline:
                  ----------
                  new:
                      7.4.25-1+deb11u1
                  old:
              psmisc:
                  ----------
                  new:
                      23.4-2
                  old:
              unzip:
                  ----------
                  new:
                      6.0-26
                  old:
----------
          ID: apache2_pkg
    Function: pkg.installed
        Name: apache2
      Result: True
     Comment: Alle angegebenen Pakete sind bereits installiert
     Started: 07:51:39.780956
    Duration: 1029.457 ms
     Changes:   
----------
          ID: apache2_service
    Function: service.running
        Name: apache2
      Result: True
     Comment: Der Dienst apache2 läuft bereits
     Started: 07:51:40.812210
    Duration: 35.61 ms
     Changes:   

Zusammenfassung für Minion1
------------
Succeeded: 3 (changed=1)
Failed:    0
------------
Total states run:     3
Total run time:  18.415 s

Fazit

Herzlichen Glückwunsch! Sie haben erfolgreich SaltStack Master und Minion auf dem Debian 11-Server installiert und konfiguriert. Wir haben auch erklärt, wie man Minions mit Zustandsdateien und der Befehlszeile verwaltet. Ich hoffe, dies hilft Ihnen, Ihre Infrastruktur von einem zentralen Ort aus zu automatisieren und zu verwalten. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.