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.
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
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/
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
Kommentar veröffentlichen