Saltstack: Difference between revisions

From HateotU
(Created page with "=Saltstack= ==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=...")
 
No edit summary
 
(4 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)
Line 14: Line 44:
  tmux:
  tmux:
   pkg.installed
   pkg.installed
==Änderungen auf Rechner ausrollen==
==Änderungen auf alle Rechner ausrollen==
*Um die Änderungen auf alle Clients (Minions) zu übernehmen, muss folgender Befehl ausgeführt werden:
*Um die Änderungen auf alle Clients (Minions) zu übernehmen, muss folgender Befehl ausgeführt werden:
  salt -b 1 '*' state.apply
  salt -b 1 '*' state.apply

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