Saltstack
From HateotU
Saltstack
- Prinzipiell liegen alle für die HateotU-Umgebung relevanten Dateien in: /usr/local/etc/salt/base
- Alle Resourcen (Dateien, die auf den Rechnern verteilt werden) liegen in: /usr/local/etc/salt/base/resources
- Die Datei top.sls enthält eine Liste der Dateien, die ausgeführt werden (entsprechender Dateiname ohne .sls am Ende)
- Die Datei packages.sls enthält die Pakete, die installiert werden sollen
- Die Datei ssh.sls enthält die Anweisungen, die sshd_config, und die authorized_keys aus dem Resourcen-Ordner auszurollen. Außerdem aktiviert sie den sshd
- Die Datei vimrc.sls Rollt die vimrc aus dem Resourcenordner auf alle Hosts aus
Debian als Saltstack Minion konfigurieren
- auf dem entsprechenden Host anmelden (ssh)
- das Paket salt-minion installieren
apt install salt-minion
- Die IP des Saltstack-Masters in der Datei /etc/salt/minion eintragen, Dazu die Zeile #master: salt durch folgende Zeile ersetzen:
master: 10.204.3.219
- den Dienst starten
systemctl start salt-minion
- nun den Fingerprint des aktuellen Minion anzeigen:
salt-call --local key.finger
- auf dem Salt-Master (saltstack.hateotu.de) anmelden (ssh) und eine Liste noch nicht bestätigter Minions anzeigen
salt-key -L
- Die entsprechenden Fingerprints anzeigen und mit den Fingerprints der Hosts vergleichen
salt-key -F master
- Wenn die Fingerprints übereinstimmen, den Minion hinzufügen
salt-key -L
- Anschließend die Verbindung zum Minion testen
salt <hostname> test.ping
- ... und die aktuelle Konfiguration anwenden:
salt -b 1 '*' state.apply
- Nun den Dienst auf den Minion aktivieren, sodass er beim Neustart automatisch gestartet wird:
systemctl enable salt-minion
SSH-Key hinzufügen
- auf saltstack.hateotu.de anmelden (ssh)
- Public Key in /usr/local/etc/salt/base/resources/authorized_keys eintragen
SSH-Key entfernen
- auf saltstack.hateotu.de anmelden (ssh)
- Public Key aus /usr/local/etc/salt/base/resources/authorized_keys entfernen
Zusätzliche Pakete auf allen Hosts installieren
- auf saltstack.hateotu.de anmelden (ssh)
- Folgende Zeilen in /usr/local/etc/salt/base/packages.sls ergänzen (Leerzeichen und : beachten!):
<paket-name>: pkg.installed
- z.B.:
tmux: pkg.installed
Änderungen auf alle Rechner ausrollen
- Um die Änderungen auf alle Clients (Minions) zu übernehmen, muss folgender Befehl ausgeführt werden:
salt -b 1 '*' state.apply