Sie könnten Salt zum Erstellen und Ausführen von Docker-Containern verwenden, aber das ist nicht die Art, wie ich es hier verwende. In diesem Blogpost geht es um Docker-Container, auf denen Salt Minions laufen, was nur ein Experiment ist. Der Anwendungsfall? Angenommen, Sie haben mehrere Container, auf denen eine bestimmte Middleware läuft, und diese Middleware benötigt ein Sicherheitsupdate, d.h. ein OpenSSL-Hotfix. Es ist notwendig, das Update sofort durchzuführen.
Das Dockerfile Um einen Container zu erstellen, müssen Sie die Beschreibung des Containers in einer Datei namens Dockerfile niederschreiben. Hier ist die Dockerdatei:
#------- # Standard-Überschriftenmaterial VON centos MAINTAINER Keine Antwort noreply@xebia.com # Installieren Sie Salt und fügen Sie ein master.conf-Snippet ein, das dem Minion mitteilt # um den angegebenen Master zu kontaktieren. RUN rpm -Uvh https://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm RUN yum install -y salt-minion --enablerepo=epel-testing RUN [ ! -d /etc/salt/minion.d ] && mkdir /etc/salt/minion.d ADD ./master.conf /etc/salt/minion.d/master.conf # Führen Sie den Salt Minion aus und trennen Sie sich nicht vom Terminal. # Das ist wichtig, denn der Docker-Container wird beendet, wenn # der CMD-Prozess wird beendet. CMD /usr/bin/salt-minion #-------
Erstellen Sie das Image Es ist an der Zeit, die Dockerdatei über Docker auszuführen. Der Befehl lautet:
$ docker build --rm=true -t salt-minion .
vorausgesetzt, Sie führen diesen Befehl in dem Verzeichnis aus, in dem sich die Dateien Dockerfile und master.conf befinden. Docker erstellt ein Image mit dem Tag 'salt-minion' und verwirft nach einem erfolgreichen Build alle Zwischen-Images.
Führen Sie einen Container aus Der Befehl lautet:
$ docker run -d salt-minion
und Docker kehrt zurück:
aab154310ba6452ba2c686d15b1e3ca5fd85124d38c7935f1200d33b3a3e7ced
Der Salt-Minion auf dem Container wird gestartet und sucht nach einem Salt-Master, mit dem er sich verbinden kann. Dieser wird durch die Konfigurationseinstellung "master" in der Datei /etc/salt/minion.d/master.conf definiert. Möglicherweise möchten Sie den Salt-Master im Modus "auto_accept" laufen lassen, damit die Minion-Schlüssel automatisch akzeptiert werden. Docker weist dem laufenden Container eine Container-ID zu. Dies ist der magische Schlüssel, den Docker als Ergebnis des Befehls run meldet. Der folgende Befehl zeigt den laufenden Container an:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES 273a6b77a8fa salt-minion:latest /bin/sh -c /etc/rc.l vor 3 Sekunden Up 3 Sekunden distracted_lumiere
Wenden Sie den Hotfix an Das war's: Der Salt-Minion wird von Ihrem Salt-Master gesteuert. Vorausgesetzt, Sie verfügen über ein Statusmodul, das den OpenSSL-Hotfix enthält, können Sie nun ganz einfach alle Docker-Knoten aktualisieren, um den Hotfix einzubinden:
salt * state.sls openssl-hotfix
Das ist alles, was Sie wissen müssen.
Verfasst von
Cristiana
Some bio goes here
Contact



