Saltstack

From HateotU
Jump to: navigation, search

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