
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:
date>/tmp/salt.date:
cmd.run:
- runas: rootStarten die den ersten Rollout
salt '*' state.apply testFile-Root ändern
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:
file_roots:
base:
- /srv/saltLegen Sie das Verzeichnis an und starten Sie den Master neu.
mkdir /srv/salt
systemctl restart salt-masterStates anwenden
Push: Vom Master zu den Minions
Die in einer State-Datei definierten Zustände werden wie folgt angewenden bzw. ausgerollt:
root@salt-master:~# salt '*' state.apply <STATE>
root@salt-master:~# salt '*' state.apply <DIR>.<STATE>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.
root@minion:~# salt-call state.apply <STATE>
root@minion:~# salt-call state.apply <DIR>.<STATE>Gesprächigkeit
Wenn Sie weniger oder mehr Output möchten, verwenden Sie die folgenden Optionen:
root@salt-master:~# salt '*' state.apply <STATE> -l quiet --state-verbose=false
root@salt-master:~# salt '*' state.apply <STATE> --state-output=changes
root@salt-master:~# salt '*' state.apply test --out=table
root@minion:~# salt-call -l debug state.apply <STATE>Last updated