Saltstack: Difference between revisions
From HateotU
No edit summary |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=Saltstack= | =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 key.finger | |||
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 -A | |||
* 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== | ==SSH-Key hinzufügen== | ||
* auf saltstack.hateotu.de anmelden (ssh) | * auf saltstack.hateotu.de anmelden (ssh) |
Latest revision as of 12:53, 20 June 2018
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 key.finger 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 -A
- 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