SaltStack Tutorial Installation (Debian Jessie)

By | 30. September 2016

Saltstack Tutorial – Vielen DevOps und SysOps sind Puppet und Chef als Deployment Management Tools schon länger bekannt. Als eine mögliche Alternative für das Configuration Management bietet sich das in Python geschriebene SaltStack an. In Kombination mit Git zur Versionsverwaltung von Dateien ein mächtiges Werkzeug zur zentralisierten Verwaltung von Servern.

„SaltStack makes systems and configuration management software for the orchestration and automation of CloudOps, ITOps and DevOps at scale.“

Quelle: https://saltstack.com/

SaltStack Tutorial Installation (Debian Jessie)

Hinzufügen des SaltStack Repositories.

echo "deb http://repo.saltstack.com/apt/debian/8/amd64/latest jessie main" / 
-> /etc/apt/sources.list.d/saltstack.list

Hinzufügen des SaltStack Schlüssels.

wget -O - https://repo.saltstack.com/apt/debian/8/amd64/latest/SALTSTACK-GPG-KEY.pub /
| apt-key add -

Paketlisten aktualisieren.

apt-get update

Gewünschtes Paket instalieren.

apt-get install salt-master
apt-get install salt-minion

Die installierte Version lässt sich anschließend wie folgt ermitteln.

salt-master --version

oder

salt-minion --version

SaltStack Tutorial Installation – SaltStack Master

Nach der Installation ist der SaltStack Master „Out of the box“ einsatzfähig.

Sollte eine Firewall eingesetzt werden, so müssen die TCP Ports 4505 und 4506 für den eingehenden Datenverkehr geöffnet werden. Der SaltStack Master kommuniziert mit den SaltStack Minions über eine AES-encrypted ZeroMQ Verbindung. Die SaltStack Minions lauschen auf einem „pub port“ und liefern Ergebnisse über den anderen Port zurück.

iptables -A INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT
iptables -A INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT

Für tiefer gehende Informationen zur Konfiguration der Firewall, insbesondere der verschiedenen Linux Derivate, siehe SaltStack Dokumentation (engl.).

SaltStack Tutorial Installation – SaltStack Minion

Auch der SaltStack Minion muss nicht erst aufwendig konfiguriert werden. Im Grunde reicht es, den SaltStack Master in der Konfigurationsdatei einzutragen.

##### Primary configuration settings #####
##########################################
# This configuration file is used to manage the behavior of the Salt Minion.
# With the exception of the location of the Salt Master Server, values that are
# commented out but have an empty line after the comment are defaults that need
# not be set in the config. If there is no blank line after the comment, the
# value is presented as an example and is not the default.

# Per default the minion will automatically include all config files
# from minion.d/*.conf (minion.d is a directory in the same directory
# as the main minion config file).
#default_include: minion.d/*.conf

# Set the location of the salt master server. If the master server cannot be
# resolved, then the minion will fail to start.
master: salt-master@exampl.com
...

Damit SaltStack Master und SaltStack Minion miteinander kommunizieren können, müssen diese ihre Schlüssel austauschen. Zur Verwaltung der Schlüssel wird auf dem Master das salt-key Kommando benutzt.

Auflistung aller Schlüssel auf dem SaltStack Master:

salt-key -L
Accepted Keys:
salt-master
Denied Keys:
Unaccepted Keys:
salt-minion1
salt-minion2
Rejected Keys:

Sollen alle noch zur Autorisation ausstehenden Schlüssel akzeptiert werden:

salt-key -A

Hat alles funktioniert, sollte nun eine Kommunikation zwischen SaltStack Master und SaltStack Minion möglich sein. Dies überprüfen wir vom SaltStack Master aus.

Alle SaltStack Minion’s pingen:

salt '*' test.ping

Sollte es notwendig sein, einen SaltStack Minion erneut am Master zu registrieren, weil sich z.B. der Hostname geändert hat, so helfen folgende Kommandos:

/etc/init.d/salt-minion stop
rm -rf /var/cache/salt/*
rm /etc/salt/minion_id
salt-key -d <old_minion_id>;
/etc/init.d/salt-master restart
/etc/init.d/salt-minion start

Die neu hinzugefügten Keys überprüfen und anschließend akzeptieren.

salt-key -L
salt-key -A

Für weitergehende Informationen siehe auch Salt in 10 Minutes (engl.).

Vielen Dank für das Lesen des Beitrags! Ich würde mich freuen, wenn du den Beitrag über die sozialen Netzwerke teilen würdest und Blog About Tech folgst.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.