Salt States
Systeme in eine definierten Zustand bringen
Sates sind fertige "Rezepte", die Sie in Form von Dateien auf dem Master anlegen. Einzelne oder alle States werden auf Minions ausgerollt und sorgen dafür, dass der Minion einen definierten Zustand erreicht.
States verwenden
Die aktuellen Versionen von Salt verwenden das Verzeichnis /srv/salt
als Root-Ordner für States.
Legen Sie das Verzeichnis /srv/salt
an und speichern Sie die folgende Datei:
Starten die den ersten Rollout
File-Root ändern
Schützen sie das States Verzeichnis maximal. Wem es gelingt eine Datei im States-Root-Verzeichnis abzulegen, kann die volle Kontrolle über alle Minions übernehmen.
Aus diesem Grund sollte der Salt-Master auf einem dedizierten Host installiert werden, auf dem nur Salt-Administratoren Zugang haben.
States bedürfen keiner speziellen Aktivierung. Die Standard-Installation hat States bereits aktiviert.
Falls Sie müssen nicht das Standard-Verzeichnis verwenden möchten, geben sie dem Salt-Master bekannt geben, in welchem Verzeichnis Sie die State-Definitionen speichern möchten. Dazu erstellen Sie die Datei /etc/salt/master.d/file_roots.conf
und tragen folgendes ein:
Legen Sie das Verzeichnis an und starten Sie den Master neu.
States anwenden
Push: Vom Master zu den Minions
Die in einer State-Datei definierten Zustände werden wie folgt angewenden bzw. ausgerollt:
Die Endung .sls
wird nicht mit angegeben. Ordner-Hierarchien werden mit .
und nicht mit /
angeben. salt '*' state.apply webserver.apache
rollt die State-Datei /srv/salt/webserver/apache.sls
oder die Datei /srv/salt/webserver/apache/init.sls
aus.
🙋 Befindet sich in einem Ordner eine Datei init.sls
kann state.apply
"auf den Ordner" angewendet werden und init.sls
wird als Einstieg verwendet.
Pull: Minions "ziehen" vom Master
Das Ausrollen eines States kann auch vom Minion veranlasst werden.
Gesprächigkeit
Wenn Sie weniger oder mehr Output möchten, verwenden Sie die folgenden Optionen:
Wenn Sie den Fehler in einer SLS-Datei nicht finden können, oder wenn Sie genau sehen möchten, in welche System-Kommandos ein Minion einen State übersetzt, nutzen Sie salt-call -l debug
auf einem Minion. An diese Debug-Informationen kommt nur der Minion dran und diese werden nicht zum Master übertragen.
Last updated