Page cover image

Salt Module

ad-hoc auf der Konsole die Minions befehlen

Steht die Verbindung?

Als Erstes testen Sie, ob der Master alle Minions erreichen kann. Dazu geben Sie das Kommando salt '*' test.ping ein. Damit versucht der Salt-Master alle verfügbaren Minions einmal anzupingen.

Was passiert hinter den Kulissen? Sie haben auf der einen Seite ein Salt-Master und auf der anderen Seite mehrere Minion. der Master öffnet den TCP Port 4506. Auf diesem Port lauscht Zero MQ Messing System. An diesem sogenannten Message-Broker melden sich die Minion über eine AES verschlüsselte Verbindung an. Master und Minion kommunizieren über diesen Nachrichtenkanal. Die Minion müssen keine TCP Ports öffnen.

Achten Sie bei der Verwendung des Wildcard-Zeichens * auf die Anführungszeichen, damit das Wildcard-Zeichen nicht von der Shell intepretiert und die Dateiliste im aktuellen aufgelöt wird. 🤦

Was sind Salt-Module?

Salt-Module sind Befehle, welche der Master zu den Minions schickt. Die Minions führen diese Befehle aus. Ein Basisbefehl ist cmd.run gefolgt von einem Befehl, den das angesprochene Betriebssystem versteht. Beispielsweise

salt '*' cmd.run "cat /etc/os-release"

In diesem Beispiel wird cmd.run und das Kommando cat /etc/os-release ausgeführt. Damit melden die Minion an den Master zurück, welches Betriebssystem gerade läuft.

Abstraktionsschicht

Die eingebauten Module von Salt können aber mehr als nur Befehle des Betriebssystems aufrufen. Die Befehle des Betriebssystems werden von Salt eigene Kommandos gekapselt.

Beispiel Pakete installieren

Schauen Sie sich das Modul pkg.upgrade an: Wenn Sie dieses zu einem Minion schicken, der mit Rocky oder RedHat läuft, führt der Minion yum update aus. Ein Minion mit Debian oder Ubuntu hingegen, führt übersetzt pkg.upgrade in die Kommandos apt-get update && apt-get -y upgrade.

Die Salt Module kapseln die unterschiedlichen Kommandos der unterschiedlichen Distributionen und Betriebssysteme in ein einheitliches Set von Befehlen.

Der Salt Minion übersetzt die "Modul-Sprache" in die Befehle der Distribution
Salt kennt viele Distributionen

Weitere Beispiele

salt '*' pkg.install cowsay -l debug
salt '*' cmd.run "cowsay hallo"
salt '*' file.append /etc/motd \
        "This machine is managed by salt."
salt '*' hosts.add_host 8.8.8.8 google-public-dns-a.google.com
salt '*' status.loadavg
salt '*' status.diskusage / ext? xfs

📖 mehr Status Module

Last updated