SlideShare ist ein Scribd-Unternehmen logo
Saltstack 
Saltstack | Thorsten Kramm | August 2014
Saltstack | Thorsten Kramm | August 2014
Computersysteme 
einheitlich 
geordnet 
automatisiert 
Saltstack | Thorsten Kramm | August 2014
Was macht Saltstack? 
Einer beherrscht sie alle. 
Befehle parallel ausführen. 
Systeme und Software installieren. 
Systemstatus sicher stellen. 
Konfigurationen erzeugen und bearbeiten. 
Saltstack | Thorsten Kramm | August 2014
Saltstack 
ist 
einfach
Saltstack | Thorsten Kramm | August 2014 
KISS 
einfach zu lernen 
einfach zu installieren 
einfach zu pflegen
Saltstack 
skaliert
Salt-Master installieren 
Hinzufügen des Saltstack Software Repositories 
/etc/apt/sources.list.d/saltstack.list 
deb http://debian.saltstack.com/debian wheezy-saltstack main 
Importieren des Schlüssels 
wget -q -O- “http://debian…“ | apt-key add - 
Master installieren 
apt-get update && apt-get install salt-master 
Das war’s schon! 
Saltstack | Thorsten Kramm | August 2014
Minions installieren 
Füge DNS- oder Hosts-Eintrag hinzu 
root@minion2:~# cat /etc/hosts 
127.0.0.1 localhost 
127.0.1.1 minion2.lab4.org minion2 
10.129.163.163 salt.lab4.org salt 
Downloaden und Ausführen des „magischen Installers“ 
curl -L https://bootstrap.saltstack.com -o install_salt.sh 
bash install_salt.sh 
Oder 
wget -O - https://bootstrap.saltstack.com|bash 
Saltstack | Thorsten Kramm | August 2014
„Master, ich will der folgen“ 
Saltstack | Thorsten Kramm | August 2014
„Du gehörst mir!“ 
Saltstack | Thorsten Kramm | August 2014
„Seit ihr alle da?“ 
Saltstack | Thorsten Kramm | August 2014
hinter den Kulissen 
Minion 1 
bidirektionale Kommunikation 
Master Minion 2 
Saltstack | Thorsten Kramm | August 2014 
Minion 3 
Zero MQ, AES
Befehlen - Salt Module 
Saltstack | Thorsten Kramm | August 2014
Ein Befehl - mehrere „Sprachen“ 
Saltstack | Thorsten Kramm | August 2014 
Debian/ Ubuntu: 
apt-get update && apt-get -y upgrade 
CentOS/ RedHat: 
yum update
Beispiel: Benutzer anlegen 
Benutzer auf allen Systemen anlegen 
salt * user.add thorsten 
Einen öffentlichen SSH-Schlüssel hinterlegen 
salt '*' ssh.set_auth_key thorsten AAAAB3NzaC1y…p8cow== 
enc='rsa' comment='kramm@lin4.de‘ 
Standard-Shell ändern 
salt '*' user.chshell thorsten /bin/bash 
Saltstack | Thorsten Kramm | August 2014
246 Module
Minions adressieren 
Grain (Oberflächenbild) 
Saltstack | Thorsten Kramm | August 2014
unter der Oberfläche 
Saltstack | Thorsten Kramm | August 2014
States definieren 
/etc/salt/master 
Saltstack | Thorsten Kramm | August 2014
Die Kommandobrücke: top.sls 
/srv/salt/top.sls 
Saltstack | Thorsten Kramm | August 2014
Benutzer verwalten 
/srv/salt/create_user.sls 
Saltstack | Thorsten Kramm | August 2014
Push & Pull 
Minions holen sich alle States ab: 
root@minion2:~# salt-call state.highstate 
Master schickt alle Sates (top.sls): 
salt minion1.lab4.org state.highstate 
Master schickt einen State: 
salt minion1.lab4.org state.sls create_user 
Saltstack | Thorsten Kramm | August 2014
dynamische Dateien mit Jinja 
{% set domain = ‚example.com' %} 
gw: 
host.present: 
- ip: 192.168.152.10 
- names: 
- gw 
- gw.{{domain}} 
mail: 
host.present: 
- ip: 192.168.152.7 
- names: 
- mail 
- mail.{{domain}} 
Saltstack | Thorsten Kramm | August 2014
dynamische Dateien mit Jinja 
{% for usr in 'moe','larry','curly' %} 
{{ usr }}: 
group: 
- present 
user: 
- present 
- gid_from_name: True 
- require: 
- group: {{ usr }} 
{% endfor %} 
Saltstack | Thorsten Kramm | August 2014
dynamische Dateien mit Jinja 
apache: 
pkg.installed: 
{% if grains['os'] == 'RedHat' %} 
- name: httpd 
{% elif grains['os'] == 'Ubuntu' %} 
- name: apache2 
{% endif %} 
Saltstack | Thorsten Kramm | August 2014
Dateien kopieren 
burp: 
pkg: 
- installed 
/etc/burp/burp.conf: 
file.managed: 
- source: salt://files/all/etc/burp/burp.conf 
- mode: 0600 
- user: root 
- group: root 
- requiere: burp 
Saltstack | Thorsten Kramm | August 2014
Dateien kopieren & bearbeiten 
burp: 
pkg: 
- installed 
/etc/burp/cname.conf: 
file.managed: 
- source: salt://files/all/etc/burp/cname.conf 
- template: jinja 
- mode: 0600 
- user: root 
- group: root 
- requiere: burp 
files/all/etc/burp/cname.conf: 
cname = {{ grains['fqdn'] }} 
Saltstack | Thorsten Kramm | August 2014
Thorsten Kramm 
kramm@lin4.de

Weitere ähnliche Inhalte

Andere mochten auch

Los Alamos Paper
Los Alamos PaperLos Alamos Paper
Los Alamos Paper
George Brotbeck
 
Sector strategies career pathways
Sector strategies   career pathwaysSector strategies   career pathways
Sector strategies career pathways
medol
 
Social Media
Social MediaSocial Media
Social Media
English on the Move
 
Pmi conclave15 coopetition as a project strategy
Pmi conclave15 coopetition as a project strategyPmi conclave15 coopetition as a project strategy
Pmi conclave15 coopetition as a project strategy
Karthik Balaji
 
Netztest-connect-2017-01-ENGLISH-final
Netztest-connect-2017-01-ENGLISH-finalNetztest-connect-2017-01-ENGLISH-final
Netztest-connect-2017-01-ENGLISH-final
Kashaf Mazhar
 
Teaching Current Events in the ESL Classroom
Teaching Current Events in the ESL ClassroomTeaching Current Events in the ESL Classroom
Teaching Current Events in the ESL Classroom
English on the Move
 
How Fit Flops Work
How Fit Flops WorkHow Fit Flops Work
How Fit Flops Work
alicaallport
 
北投地質調查和導覽計畫
北投地質調查和導覽計畫北投地質調查和導覽計畫
北投地質調查和導覽計畫
平台 青
 
北投參與式預算提案 社區環境清潔
北投參與式預算提案 社區環境清潔北投參與式預算提案 社區環境清潔
北投參與式預算提案 社區環境清潔
平台 青
 
Factpendientesmod2 presentacin1ingles2muestra 090221132635-phpapp02
Factpendientesmod2 presentacin1ingles2muestra 090221132635-phpapp02Factpendientesmod2 presentacin1ingles2muestra 090221132635-phpapp02
Factpendientesmod2 presentacin1ingles2muestra 090221132635-phpapp02
esforsejuancardenas2
 
愛走動愛相隨
愛走動愛相隨愛走動愛相隨
愛走動愛相隨
平台 青
 
Multi Model Performance Improvement
Multi Model Performance ImprovementMulti Model Performance Improvement
Multi Model Performance Improvement
George Brotbeck
 
Bismillaahi
BismillaahiBismillaahi
Bismillaahi
yhan_yhanz
 
physical_and_chemical changes
physical_and_chemical changesphysical_and_chemical changes
physical_and_chemical changes
silo11
 
The Pursuit of Happiness: What Americans Do For Fun
The Pursuit of Happiness: What Americans Do For FunThe Pursuit of Happiness: What Americans Do For Fun
The Pursuit of Happiness: What Americans Do For Fun
English on the Move
 
Ilmu Sosial Dasar
Ilmu Sosial DasarIlmu Sosial Dasar
Ilmu Sosial Dasar
Alia Nur Afni
 
Social Media
Social MediaSocial Media
Social Media
English on the Move
 
SurveyofBP
SurveyofBPSurveyofBP
SurveyofBP
George Brotbeck
 
台北市北投區青少年課餘學習平台計畫
台北市北投區青少年課餘學習平台計畫台北市北投區青少年課餘學習平台計畫
台北市北投區青少年課餘學習平台計畫
平台 青
 
Tugas ilmu sosial dasar ii
Tugas ilmu sosial dasar iiTugas ilmu sosial dasar ii
Tugas ilmu sosial dasar ii
Alia Nur Afni
 

Andere mochten auch (20)

Los Alamos Paper
Los Alamos PaperLos Alamos Paper
Los Alamos Paper
 
Sector strategies career pathways
Sector strategies   career pathwaysSector strategies   career pathways
Sector strategies career pathways
 
Social Media
Social MediaSocial Media
Social Media
 
Pmi conclave15 coopetition as a project strategy
Pmi conclave15 coopetition as a project strategyPmi conclave15 coopetition as a project strategy
Pmi conclave15 coopetition as a project strategy
 
Netztest-connect-2017-01-ENGLISH-final
Netztest-connect-2017-01-ENGLISH-finalNetztest-connect-2017-01-ENGLISH-final
Netztest-connect-2017-01-ENGLISH-final
 
Teaching Current Events in the ESL Classroom
Teaching Current Events in the ESL ClassroomTeaching Current Events in the ESL Classroom
Teaching Current Events in the ESL Classroom
 
How Fit Flops Work
How Fit Flops WorkHow Fit Flops Work
How Fit Flops Work
 
北投地質調查和導覽計畫
北投地質調查和導覽計畫北投地質調查和導覽計畫
北投地質調查和導覽計畫
 
北投參與式預算提案 社區環境清潔
北投參與式預算提案 社區環境清潔北投參與式預算提案 社區環境清潔
北投參與式預算提案 社區環境清潔
 
Factpendientesmod2 presentacin1ingles2muestra 090221132635-phpapp02
Factpendientesmod2 presentacin1ingles2muestra 090221132635-phpapp02Factpendientesmod2 presentacin1ingles2muestra 090221132635-phpapp02
Factpendientesmod2 presentacin1ingles2muestra 090221132635-phpapp02
 
愛走動愛相隨
愛走動愛相隨愛走動愛相隨
愛走動愛相隨
 
Multi Model Performance Improvement
Multi Model Performance ImprovementMulti Model Performance Improvement
Multi Model Performance Improvement
 
Bismillaahi
BismillaahiBismillaahi
Bismillaahi
 
physical_and_chemical changes
physical_and_chemical changesphysical_and_chemical changes
physical_and_chemical changes
 
The Pursuit of Happiness: What Americans Do For Fun
The Pursuit of Happiness: What Americans Do For FunThe Pursuit of Happiness: What Americans Do For Fun
The Pursuit of Happiness: What Americans Do For Fun
 
Ilmu Sosial Dasar
Ilmu Sosial DasarIlmu Sosial Dasar
Ilmu Sosial Dasar
 
Social Media
Social MediaSocial Media
Social Media
 
SurveyofBP
SurveyofBPSurveyofBP
SurveyofBP
 
台北市北投區青少年課餘學習平台計畫
台北市北投區青少年課餘學習平台計畫台北市北投區青少年課餘學習平台計畫
台北市北投區青少年課餘學習平台計畫
 
Tugas ilmu sosial dasar ii
Tugas ilmu sosial dasar iiTugas ilmu sosial dasar ii
Tugas ilmu sosial dasar ii
 

IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

  • 1. Saltstack Saltstack | Thorsten Kramm | August 2014
  • 2.
  • 3.
  • 4. Saltstack | Thorsten Kramm | August 2014
  • 5.
  • 6.
  • 7. Computersysteme einheitlich geordnet automatisiert Saltstack | Thorsten Kramm | August 2014
  • 8. Was macht Saltstack? Einer beherrscht sie alle. Befehle parallel ausführen. Systeme und Software installieren. Systemstatus sicher stellen. Konfigurationen erzeugen und bearbeiten. Saltstack | Thorsten Kramm | August 2014
  • 9.
  • 11. Saltstack | Thorsten Kramm | August 2014 KISS einfach zu lernen einfach zu installieren einfach zu pflegen
  • 12.
  • 14. Salt-Master installieren Hinzufügen des Saltstack Software Repositories /etc/apt/sources.list.d/saltstack.list deb http://debian.saltstack.com/debian wheezy-saltstack main Importieren des Schlüssels wget -q -O- “http://debian…“ | apt-key add - Master installieren apt-get update && apt-get install salt-master Das war’s schon! Saltstack | Thorsten Kramm | August 2014
  • 15.
  • 16. Minions installieren Füge DNS- oder Hosts-Eintrag hinzu root@minion2:~# cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 minion2.lab4.org minion2 10.129.163.163 salt.lab4.org salt Downloaden und Ausführen des „magischen Installers“ curl -L https://bootstrap.saltstack.com -o install_salt.sh bash install_salt.sh Oder wget -O - https://bootstrap.saltstack.com|bash Saltstack | Thorsten Kramm | August 2014
  • 17.
  • 18. „Master, ich will der folgen“ Saltstack | Thorsten Kramm | August 2014
  • 19. „Du gehörst mir!“ Saltstack | Thorsten Kramm | August 2014
  • 20. „Seit ihr alle da?“ Saltstack | Thorsten Kramm | August 2014
  • 21. hinter den Kulissen Minion 1 bidirektionale Kommunikation Master Minion 2 Saltstack | Thorsten Kramm | August 2014 Minion 3 Zero MQ, AES
  • 22. Befehlen - Salt Module Saltstack | Thorsten Kramm | August 2014
  • 23. Ein Befehl - mehrere „Sprachen“ Saltstack | Thorsten Kramm | August 2014 Debian/ Ubuntu: apt-get update && apt-get -y upgrade CentOS/ RedHat: yum update
  • 24. Beispiel: Benutzer anlegen Benutzer auf allen Systemen anlegen salt * user.add thorsten Einen öffentlichen SSH-Schlüssel hinterlegen salt '*' ssh.set_auth_key thorsten AAAAB3NzaC1y…p8cow== enc='rsa' comment='kramm@lin4.de‘ Standard-Shell ändern salt '*' user.chshell thorsten /bin/bash Saltstack | Thorsten Kramm | August 2014
  • 25.
  • 27. Minions adressieren Grain (Oberflächenbild) Saltstack | Thorsten Kramm | August 2014
  • 28. unter der Oberfläche Saltstack | Thorsten Kramm | August 2014
  • 29. States definieren /etc/salt/master Saltstack | Thorsten Kramm | August 2014
  • 30. Die Kommandobrücke: top.sls /srv/salt/top.sls Saltstack | Thorsten Kramm | August 2014
  • 31. Benutzer verwalten /srv/salt/create_user.sls Saltstack | Thorsten Kramm | August 2014
  • 32. Push & Pull Minions holen sich alle States ab: root@minion2:~# salt-call state.highstate Master schickt alle Sates (top.sls): salt minion1.lab4.org state.highstate Master schickt einen State: salt minion1.lab4.org state.sls create_user Saltstack | Thorsten Kramm | August 2014
  • 33.
  • 34. dynamische Dateien mit Jinja {% set domain = ‚example.com' %} gw: host.present: - ip: 192.168.152.10 - names: - gw - gw.{{domain}} mail: host.present: - ip: 192.168.152.7 - names: - mail - mail.{{domain}} Saltstack | Thorsten Kramm | August 2014
  • 35. dynamische Dateien mit Jinja {% for usr in 'moe','larry','curly' %} {{ usr }}: group: - present user: - present - gid_from_name: True - require: - group: {{ usr }} {% endfor %} Saltstack | Thorsten Kramm | August 2014
  • 36. dynamische Dateien mit Jinja apache: pkg.installed: {% if grains['os'] == 'RedHat' %} - name: httpd {% elif grains['os'] == 'Ubuntu' %} - name: apache2 {% endif %} Saltstack | Thorsten Kramm | August 2014
  • 37. Dateien kopieren burp: pkg: - installed /etc/burp/burp.conf: file.managed: - source: salt://files/all/etc/burp/burp.conf - mode: 0600 - user: root - group: root - requiere: burp Saltstack | Thorsten Kramm | August 2014
  • 38. Dateien kopieren & bearbeiten burp: pkg: - installed /etc/burp/cname.conf: file.managed: - source: salt://files/all/etc/burp/cname.conf - template: jinja - mode: 0600 - user: root - group: root - requiere: burp files/all/etc/burp/cname.conf: cname = {{ grains['fqdn'] }} Saltstack | Thorsten Kramm | August 2014