Automatische Konfiguration mit salt

Aus CEPHALIX/CRANIX

Netzwerkrechner sind per Voreinstellung als salt-Minions konfiguriert, d.h. sie melden sich beim Start beim salt-Master an und können so über Skripte konfiguriert werden.

Gegenüber dem bisherigen System ist diese Konfiguration schonend, da die Konfiguration parallel zum normalen Rechnerbetrieb erfolgt.

Alle Konfigurationen sollten in einem eigenen Environment vorgenommen werden, um die automatische Softtwareverteilung nicht zu stören, siehe auch Anpassungsmöglichkeiten.

Überblick

Das bisherige System der automatischen Rechnereinrichtung basierte auf

  • RPMS: Dateien, die beim Start installiert wurden
  • ROOT: Dateien, die beim Start auf den Netzwerkrechner kopiert wurden
  • default: Ein Skript, das für alle Rechner ausgeführt wurde.
  • scripts: Skripte, die für Rechner/Räume ausgeführt wurden.

Dieses System wird durch salt vollständig ersetzt und wesentlich erweitert.

Systematik

salt besitzt Programme, um automatisiert Pakete zu installieren:

pkg.installed:
 - name: epoptes
 - source: salt://files/...

salt kann rekursiv ganze Dateibäume übertragen:

file.recurse:
 - name: /
 - source: salt://files/.../ROOT

und salt kann Dateirechte ändern:

file.managed:
 - name: /etc/sssd/sssd.conf
 - source: salt://files/.../sssd.onf
 - mode: 666

salt kann außerdem ein sogenanntes Jinja-Template beim Kopiervorgang kompliziert bearbeiten.

Struktur

Es gibt Zustandsbeschreibungen in Zustandsdateien(states), z.B. /srv/salt/schule/states/default.sls. Diese werden Rechnern oder Rechnergruppen zugeordnet. Das passiert in der Hauptdatei /srv/salt/schule/top.sls z.B.

 '*':
   - states.default

Dieser Zustand wird auf alle Rechner angewendet.

Dateien, die in das root-Verzeichnis kopiert werden sollen, sind unter /srv/salt/schule/files/default/ROOT zu finden.

Dateien, die installiert werden sollen, sind unter /srv/salt/schule/files/default/RPMS zu finden und müssen in den Zustandasdateien explizit genannt werden.

Dateien, die mit dem Jinja-System beim Kopieren verändert werden sollen, befinden sich unter /srv/salt/schule/files/default und müssen in der Zustandsdatei explizit genannt werden.