Konfiguration

Beim Start versuchen die Minions standardmäßig, sich mit dem Master zu verbinden. Haben Sie kein solches Ziel konfiguriert, sucht die Software automatisch in der DNS-Domäne nach dem Eintrag salt. Sie legen daher entweder einen entsprechenden A-Record an, der auf den Master zeigt (im Labor war das Ziel die IP-Adresse 192.168.178.39), oder Sie konfigurieren die Salt-Minions von Hand.

Öffnen Sie dazu auf jedem System, auf dem ein Minion läuft, die Konfigurationsdatei /etc/salt/minion mit einem Editor und suchen Sie nach der Zeile, die mit #master: beginnt. Entfernen Sie dort das Kommentarzeichen und ändern Sie die Zeile ab, in unserem Beispiel in master: 192.168.178.39 (Abbildung 1). Die IP-Adresse aus dem Beispiel ersetzen Sie durch jene, die in Ihrem Netzwerk auf den Master zeigt. Nach den Änderungen müssen Sie den Minion neu starten.

Abbildung 1: Falls die automatische Konfiguration versagt, stellen Sie die entsprechenden Optionen des Salt-Masters von Hand ein.

Befindet sich auf dem lokalen System oder im Netzwerk eine Firewall, die unter Umständen die Kommunikation zwischen Master und Minions filtert, müssten Sie auf allen beteiligten Systemen die TCP-Ports 4505 und 4506 freigeben. Bei Fragen oder Problemen ziehen Sie am besten die geeignete Stelle in der offiziellen Dokumentation zurate [5].

Die Verbindung zwischen dem Salt-Master und seinen Minions läuft über eine verschlüsselte Verbindung, für die sich beide Seiten authentifizieren. Dass die Minions Befehle von einem Master akzeptieren, setzt voraus, dass Sie Ihren Schlüssel zunächst beim Master hinterlegen und dieser den Key akzeptiert. Sobald ein Minion sich das erste Mal mit einem neuen Master verbindet, findet der entsprechende Austausch automatisiert statt. Auf dem Master sehen Sie sich mittels sudo salt-key -L die Liste der Minions an, die Ihren Schlüssel eingereicht haben (Abbildung 2).

Abbildung 2: Verifizierungsverfahren: Salt stellt sicher, dass man sich kennt.

Wenn Sie diesen Minions auf Anhieb vertrauen, nehmen Sie mit dem Kommando sudo salt-key -A alle Schlüssel in einem Rutsch an und bestätigen dies mit Y beziehungsweise j. Möchten Sie hingegen die Identität der einzelnen Minions überprüfen, finden Sie dazu in der Manpage zu salt-key entsprechende Hilfestellungen. Mit einem erneuten Aufruf von sudo salt-key -L verifizieren Sie die Übernahme (Abbildung 2).

Alle Minions, die sich unterhalb von Accepted Keys grün aufgelistet finden, nehmen künftig Befehle vom Master entgegen. Testweise sollten Sie zudem prüfen, ob der Master die Minions online sieht, wozu Sie das Kommando sudo salt-run manage.status nutzen. Abbildung 3 zeigt das Ergebnis.

Abbildung 3: Haben Sie die Minions ordnungsgemäß beim Master angemeldet, steht der Kommunikation zwischen den Rechnern nichts mehr im Wege.

Auswahl des Ziels

Wem ein Heer an Befehlsempfängern zur Verfügung steht, der richtet seine Kommandos entweder an alle Mitglieder oder nur einen Teil der Gruppe. Dem Salt-Master geht es nicht anders: Auch hier legen Sie fest, mit welchen seiner Minions er kommuniziert. Dementsprechend ist das Kommando von Saltstack aufgebaut, das Sie hauptsächlich verwenden: Zunächst rufen Sie es auf (salt), im Anschluss nennen Sie die Ziele (alle wählen Sie mit "*" aus) und danach folgen das Modul sowie die darin enthaltene Funktion.

Um die Verbindung zu den Minions zu prüfen, verwenden Sie den Befehl aus Listing 1. Das Targeting der Minions, also die Auswahl der Ziele, ist eines von zwei zentralen Elementen bei der Arbeit mit dem Kommando. Salt bringt dazu eine ganze Reihe von Möglichkeiten mit, etwa, um nur einen bestimmten Host anzusprechen (Listing 2).

Listing 1

$ sudo salt "*" test.ping
linux-x3b4.site:
  True
fedora23.fritz.box:
  True
deb7:
  True

Listing 2

$ sudo salt "deb7" test.version
deb7:
  2015.5.3

Salt beherrscht zudem die Möglichkeit, Minions auf Grundlage von regulären Ausdrücken und Mustern anzusteuern. Durch Angabe von d* beziehen Sie beispielsweise alle Systeme mit ein, deren Namen mit dem Buchstaben d beginnt. Dagegen richtet sich file[1-5] an die Minions mit der Kennung file1 bis file5. Um etwa in unserer Testkonfiguration alle drei Minions gezielt manuell anzusprechen, könnten Sie beispielsweise die Anfangsbuchstaben ihrer Namen verwenden, auf die dann eine beliebige Zeichenkette folgen darf (Listing 3).

Listing 3

$ sudo salt "[d,l,f]*" test.version
linux-x3b4.site:
  2014.1.11
deb7:
  2015.5.3
fedora23.fritz.box:
  2015.5.5

Über sogenannte Compound-Matcher verknüpfen Sie mehrere (nahezu beliebig viele) Kriterien miteinander, um ein System auszuwählen. Diese Schlüsselwörter aktivieren Sie mit einem -C vor der Auswahl der Ziele. Innerhalb der Anführungen dürfen Sie mehrere Informationen angeben, die Sie mittels and beziehungsweise and not verknüpfen. Ein simples Beispiel zeigt Listing 4: Damit wählen Sie zunächst alle Minions aus und schließen dann den Debian-Host aus.

Listing 4

$ sudo salt -C "* and not deb*" test.ping
linux-x3b4.site:
  True
fedora23.fritz.box:
  True

Die Minions wählen Sie auf Grundlage von Eigenschaften wie dem Betriebssystem, der IP-Adresse und vielen anderen Faktoren aus. Mehr Informationen dazu finden Sie weiter unten im Abschnitt "Eigenschaften". Übrigens: Wenn Sie den Eindruck haben, ein Salt-Minion sei ungeschickt benannt, legen Sie den Namen selbst in der Datei /etc/salt/minion_id fest. Generell können Sie beliebige Namen vergeben, im Alltag haben sich jedoch das Verwenden des FQDN oder eine Kombination aus Rolle und Nummer bewährt.

Das in Listing 4 verwendete Modul test findet im Alltag übrigens meist keine Verwendung. Es dient vielmehr der Suche nach Fehlern und dem schnellen Prüfen der Konnektivität. Weitere Funktionen von test finden Sie online in der Dokumentation [6]. Möchten Sie einen ausführlicheren Blick auf die Auswahl von Zielsystemen unter Salt werfen, finden Sie ebenfalls online entsprechende Dokumente [7].

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Salt steuert entfernte Rechner

    Salt, eine neue Software zum Ausführen von Befehlen auf entfernten Rechnern, tritt in Version 0.6.0 erstmals ans Licht der Öffentlichkeit.
  • Qubes R3.1 veröffentlicht
    Die Distribution Qubes erhöht die Sicherheit, indem sie Anwendungen in einzelne virtuelle Maschinen sperrt. Jetzt haben die Entwickler die Version R3.1 freigegeben, die zusätzliche Hardwarekomponenten unterstützt und für Anwender ein paar interessante Neuerungen bereithält.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...