Automatische Konfiguration mit salt
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.
1 Ü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.
2 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.
3 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.