Skip to content

Instantly share code, notes, and snippets.

@fabarea
Created May 28, 2014 19:57
Show Gist options
  • Save fabarea/23b8a31c056bcf777660 to your computer and use it in GitHub Desktop.
Save fabarea/23b8a31c056bcf777660 to your computer and use it in GitHub Desktop.

SALTSTACK

Location: Freiburg Date: 29.05.14

  • deklartive: Puppet, Chef, Cfengine
  • imperative: ansible, fabric - macht was aktiv auf
  • real Welt: Salt kann beides

Architecktur

via MessageQueue via SSH Client / Server Serverlos

Begriffe

Master Minion -> the host Pillar -> Daten über den Host / Andwendung Grains -> erhobene oder dennierte Daten des Minion Module -> State - Beschreibung wie etwas auf dem Zeilsystem aussehen muss

Returners - zusätliche Möglichkeit um die Ergebnisse zu schreiben Refactor - internes System um automatisch Ereignisse zu verarbeiten

Grundlegendes

  • Konfiguration per YAML but also JSON, python
  • Befehle instantan auf all hosts durch MessageQueue
  • Parallel, aber auch seriell mögliche
  • Modules - zum ausführen von Befehlen
  • States - um Statis zu definieren

salut '*' test.ping

apache2:
pkg:
  • installed
service:
  • running
  • require:
    • pkg: apache

Matching

  • globbing
  • regex
  • grains

Scheduling

  • eigene shellbefehle
  • hightstate all 30
  • über returner auch Protokollierung

Pillar

  • Sensitive Daten, zentral gepflegt Nur auf den Hosts auf denen Sie zugewiesen sind
  • Variable - bin ich in production
  • minion konfiguration

Grains

  • Informationen zum System
  • zur Definition in Salt States und Pillars
  • automatisch generiert
  • auf Minion fest definiert: stellen, Standort, Seriennummer

salt -G 'os:CentOS' test.ping salt -G 'ardware:HP' pk. install hp-ilo salt -G 'rack:14' system.shutdown

Dateibackend salt://

  • Dateisystem
  • git
  • mercurial
  • stapelbar
  • commandline per cp.getfile
  • über Rezepte

Environments

file_roots:
base:
  • /srv/salt/prod
dev:
  • /srv/salt/dev

salt-ssh

  • Keine Installation eines Minion
  • Steuerung Switches oder anderer Systeme
  • Bootstrapping
  • Konfiguration über Rosten
  • noch nicht alles möglich

Weiteres

  • Cloud Plateforme
  • Docker.io
  • Testing - Unit un Integration Tests
  • Phyton API - import salt

salt '' garins.append key val salt '' garins.append key val

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment