Berni's Tools 6: saltstack

Saltstack, was soll denn das? Dieses in Europa praktisch unbekannte Tool ist eines der mächtigsten Konfigurationsmanagements, die ich je gesehen habe.
Saltstack besteht grundsätzlich aus einem Master und einer unbeschränkten Anzahl Minions. Der Start ist einfach: auf dem Master wird salt-master installiert, auf jedem Client salt-minion. Als Master wird Linux unterstützt, als Minion die meisten Betriebssysteme (bei mir im Einsatz: Linux Ubuntu, CentOS, Fedora, Debian, Windows 2008).
Mit saltstack können Konfigurationsdateien zentral gemanaget werden oder Kommandos an viele Minions gleichzeitig geschickt werden. Ich habe erst begonnen zu verstehen, was alles möglich ist mit saltstack.

Einige Beispiele:
Zeige mir für alle Systeme, deren Name mit ci beginnt, alle grains (Informationen)
salt ci* grains.items
Die Ausgabe:
ci.cs.technik.fhnw.ch:
  biosreleasedate: 07/09/2012
  biosversion: 6.00
  cpu_flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm ida arat epb pln pts dtherm
  cpu_model: Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
  cpuarch: x86_64
  defaultencoding: None
  defaultlanguage: None
  domain: my.ch
  fqdn: ci.my.ch
  fqdn_ip4:
      127.0.1.1
  fqdn_ip6:
  gpus:
      {'model': 'SVGA II Adapter', 'vendor': 'unknown'}
  host: ci
  id: ci.cs.technik.fhnw.ch
  ip_interfaces: {'lo': ['127.0.0.1'], 'eth0': ['secret']}
  ipv4:
      10.5.1.61
      127.0.0.1
  ipv6:
  kernel: Linux
  kernelrelease: 3.2.0-55-generic
  localhost: sys1
  lsb_distrib_codename: precise
  lsb_distrib_description: Ubuntu 12.04.3 LTS
  lsb_distrib_id: Ubuntu
  lsb_distrib_release: 12.04
  manufacturer: VMware, Inc.
  master: salt
  mem_total: 2003
  nodename: sys1
  num_cpus: 2
  num_gpus: 1
  os: Ubuntu
  os_family: Debian
  osarch: amd64
  oscodename: precise
  osfinger: Ubuntu-12.04
  osfullname: Ubuntu
  osrelease: 12.04
  path: /usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
  productname: VMware Virtual Platform
  ps: ps -efH
  pythonpath:
      /usr/bin
      /usr/lib/python2.7
      /usr/lib/python2.7/plat-linux2
      /usr/lib/python2.7/lib-tk
      /usr/lib/python2.7/lib-old
      /usr/lib/python2.7/lib-dynload
      /usr/local/lib/python2.7/dist-packages
      /usr/lib/python2.7/dist-packages
      /usr/lib/pymodules/python2.7
  pythonversion: 2.7.3.final.0
  saltpath: /usr/lib/pymodules/python2.7/salt
  saltversion: 0.17.1
  saltversioninfo:
      0
      17
      1
  serialnumber: VMware-42 05 95 4c c7 19 99 50-d2 c7 32 29 b7 d7 a3 2d
  server_id: 235869459
  shell: /bin/sh
  virtual: VMware


Als nächstes will ich von allen Ubuntu 12.04, dass sie den fusioninventory-agent ausführen.
salt -G  oscodename:precise cmd.run fusioninventory-agent

wenn ich das gleiche für alle Ubuntu Systeme will :
salt -G os:Ubuntu cmd.run fusioninventory-agent

Dies war erst der Anfang. Mit saltstack ist so vieles in so kurzer Zeit möglich, dass es den Umfang dieses Blogs sprengt. Ich bin begeistert.
http://www.saltstack.com/

Kommentare

Beliebte Posts aus diesem Blog

wie verwalte ich 100 Linux Server?

warum bloggen?

Klimaveränderung – ein Überblick