+ All Categories
Home > Internet > IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Date post: 21-May-2015
Category:
Upload: thorstenkramm
View: 279 times
Download: 0 times
Share this document with a friend
Description:
IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
39
ltstack | Thorsten Kramm | August 2014 Saltstack
Transcript
Page 1: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

Saltstack

Page 2: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
Page 3: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
Page 4: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

Page 5: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
Page 6: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
Page 7: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

Computersysteme

einheitlichgeordnet

automatisiert

Page 8: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

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.

Page 9: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
Page 10: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack ist

einfach

Page 11: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

KISS

einfach zu lerneneinfach zu installieren

einfach zu pflegen

Page 12: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
Page 13: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack

skaliert

Page 14: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

Salt-Master installieren

Hinzufügen des Saltstack Software Repositories

/etc/apt/sources.list.d/saltstack.listdeb 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!

Page 15: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
Page 16: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

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.orgsalt

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

Page 17: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
Page 18: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

„Master, ich will der folgen“

Page 19: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

„Du gehörst mir!“

Page 20: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

„Seit ihr alle da?“

Page 21: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

hinter den Kulissen

Master Minion 2

Minion 3

Minion 1

bidirektionale Kommunikation

Zero MQ, AES

Page 22: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

Befehlen - Salt Module

Page 23: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

Ein Befehl - mehrere „Sprachen“

Debian/ Ubuntu:

apt-get update && apt-get -y upgrade

CentOS/ RedHat:

yum update

Page 24: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

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='[email protected]

Standard-Shell ändern

salt '*' user.chshell thorsten /bin/bash

Page 25: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
Page 26: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

246 Module

Page 27: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

Minions adressieren

Grain (Oberflächenbild)

Page 28: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

unter der Oberfläche

Page 29: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

States definieren/etc/salt/master

Page 30: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

Die Kommandobrücke: top.sls/srv/salt/top.sls

Page 31: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

Benutzer verwalten/srv/salt/create_user.sls

Page 32: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

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

Page 33: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014
Page 34: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

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}}

Page 35: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

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 %}

Page 36: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

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 %}

Page 37: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

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

Page 38: IT Automatisierung mit Salt Stack | Thorsten Kramm @ FrosCon 2014

Saltstack | Thorsten Kramm | August 2014

Dateien kopieren & bearbeitenburp:

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'] }}


Recommended