Saltstack
  • Willkommen
  • Einführung
  • Testumgebung
    • Salt-Master öffentlicher FQDN
  • Salt installieren
    • Minions und Master "verheiraten"
  • Salt Module
    • Beispiel Benutzer anlegen
    • Dateien hin und her kopieren
  • Salt States
    • Yaml verstehen
    • Editoren anpassen
    • Beispiel Benutzer verwalten
    • Abhängigkeiten
    • Dateien editieren
    • Shell Kommandos
    • Beispiel Caddy Webserver
  • Linter
  • Minions adressieren
    • Grains
    • Hostgruppen - Node Groups
  • Jinja
    • Beispiel Caddy PHP
  • top.sls
  • Output
  • Pillars
    • Hosts Pillars
    • GPG
    • Vault
    • Datenbanken
    • Beispiel Benutzerverwaltung
  • Salt-Mine
  • Eigene Module erstellen
  • Orchestrierung
  • Returner & Job-Cache
  • Salt SSH
  • Salt API
  • Salt Cloud
    • Hinweise und Fallen
    • KVM und Libvirt
    • Scaleway
    • Digitalocean
    • Hetzner Cloud
    • eigene Deploymentscripte
    • Dynamische Portforwarding
    • Keys automatisch aufräumen
    • Start Aktionen
  • GIT
    • Alternative CD
  • Salt Reactor
  • Salt für Windows
    • Software ohne Repository installieren
    • PowerShell
    • Chocolatey Paktemanager
    • Lokales Logon Skript
    • Software Repository
  • Beispiele
    • Restic Backup
    • Apache Web-Proxy
    • Wartungstunnel
    • Unattended Upgrades
  • Salt & Etcd
  • Salt ACS
Powered by GitBook
On this page
  • Reactor aktivieren
  • Salt-Keys aufräumen
  • State nach VM Deployment ausrollen

Salt Reactor

Auf Events reagieren

Der Salt Reactor ist ein Prozess, welcher auf dem Master läuft und auf Events der Minions reagiert. Sobald der Event-Listener ein Event registriert, für das eine Reaktion definiert wurde, wird diese auf einem Minion ausgeführt. Der Reactor kann auf Standard-Events, wie »Minion gestartet« oder frei definierte Events reagieren.

Reactor aktivieren

Der Reactor wird über die Konfiguration des Masters aktiviert. Verwenden Sie dazu etwa die Datei /etc/salt/master.d/reactor.conf.

Nach jeder Änderung am Reactor müssen Sie den Salt Master neu starten.

Ein simples Beispiel

/etc/salt/master.d/reactor.conf
reactor:
  - 'salt/minion/*/start':           # EVENT -> Match tag "salt/minion/*/start"
    - /srv/reactor/minion-start.sls  # REACTION -> Things to do when a minion starts                      
  - 'dummy/foo/*':
    - /srv/reactor/dummy.sls
/srv/reactor/dummy.sls
{% set list = tag.split('/') %}
dummy:
  local.cmd.run:
    - name: gaga
    - tgt: 'some-minion'
    - arg:
      - 'echo "{{ data['id'] }}: {{ list[2] }} . {{ tag }} {{ data | json() }}">/tmp/reactor.txt'
root@minion1: salt-call event.send 'dummy/foo/hamster'

Mit dem Kommando salt-run state.event pretty=True beobachten Sie live, welche Events an den Reactor gesendet werden.

Salt-Keys aufräumen

/etc/salt/master.d/reactor.conf
reactor: 
  - 'salt/cloud/*/destroying': 
    - '/srv/reactor/salt_cloud_destroy_keys.sls'
/srv/reactor/salt_cloud_destroy_keys.sls
{%- set tag_split = tag.split('/') %} 
{%- set minion_id = tag_split[2] %} 
salt_cloud_destroy_key_{{ minion_id }}: 
  wheel.key.delete: 
    - match: {{ minion_id }}

State nach VM Deployment ausrollen

/etc/salt/master.d/reactor.conf
reactor: 
  # Machine created
  - 'salt/cloud/*/created':
    - '/srv/reactor/startup_highstate.sls'
  # Machine destroyed
  - 'salt/cloud/*/destroying': 
    - '/srv/reactor/salt_cloud_destroy_keys.sls'
/srv/reactor/startup_highstate.sls
reactor_highstate:
  cmd.state.apply:
    - tgt: {{ data['name'] }}
    - args:
      - mods: init.vminit
PreviousAlternative CDNextSalt für Windows

Last updated 2 years ago