Sobald ein Chef-Automate-Server funktionsfähig ist, kann man sich ans Einrichten einer Chef Workstation machen. Unter AWS installieren wir hierfür nun das Starter-Kit, ChefDK und einige Hilfswerkzeuge.
AWS OpsWorks for Chef Automate haben wir im ersten Teil dieser Miniserie vollständig eingerichtet und bereitgestellt. Im nächsten Schritt schreiben wir die automatisch generierte und aus dem Ausgabestring extrahierte (momentan in einer Variablen zwischengespeicherte) Schlüsseldatei client.pem auf der Chef-Workstation in die Datei /etc/chef/client.pem:
sudo mkdir /etc/chef
echo $opw_privkey | sudo tee /etc/chef/client.pem
sudo chmod 644 /etc/chef/client.pem
Jetzt ist es an der Zeit, die neueste Version des Chef Development Kit, kurz ChefDK, herunterzuladen. Die Links zur jeweils neuesten und älteren Stable-Versionen finden sich auch im Download-Bereich von Chef.io.
https://packages.chef.io/files/stable/chefdk/3.5.13/el/7/chefdk-3.5.13-1.el7.x86_64.rpm
Das Installieren erfolgt dann auf unserer auf Amazon-Linux basierenden Chef-Workstation mittels …
sudo yum install -y chefdk-3.5.13-1.el7.x86_64.rpm
Um das ebenfalls aus der Ausgabe extrahierte Starter Kit zugänglich zu machen, verschieben wir die in der Variablen $opw_skit gespeicherte base64-codierte Datei mithilfe von Python in eine ZIP-Datei. Das geht so:
echo $opw_skit | python -m base64 -d > starterkit.zip
Anschließend entpacken wir die Datei:
unzip starterkit.zip
Die Ausgabe sollte etwa wie folgt aussehen:
PEM-Schlüssel hochladen
Nun laden wir noch unseren privaten PEM-Schlüssel auf die Chef-Workstation hoch. Erst so ist sichergestellt, dass dieser auch per SSH eine Verbindung mit dem Chef-Automate-Server (oder unseren Knoten-Maschinen wie z. B. den Ziel-Webserver) aufnehmen kann.
Aber Achtung: In diesem Beispiel haben wir die auf EC2 basierende Chef-Workstation nur aus Gründen der einfachen Zugänglichkeit in einem öffentlichen Subnetz platziert, auch weil dieser damit die persönliche Betriebsumgebung des Kunden nachahmt. Das Platzieren von SSH-Schlüsseln auf einem gemeinsam genutzten Server sollte jedoch in Produktionsumgebungen unbedingt vermieden werden!
Unter Windows/Putty kann das Hochladen z. B. sofern installiert mit Hilfe von PuTTY-SCP (pscp) erfolgen. Das folgende Kommando ist etwas unübersichtlich und enthält an drei Stellen ein Key-Pair: