Installation von Ansible und Semaphore als LXC Container auf Proxmox
Im letzten Artikel hatte ich den Proxmox geupdatet und das Turnkey-Linux Ansible/Sempahore Template herunter geladen. In diesem Artikel werde ich dieses Template als LXC Container installieren.
Fangen wird mit der Konfiguration eines neuen LXC Containers an, als Voraussetzung hier für brauchen wir IPv6 + IPv4 Adressen, mit ihrer Netzmaske und Gateway. Die anderen Punkte stelle ich nach eigenem Ermessen ein und werde sie bei schlechter Performance im Nachgang dann korrigieren.
Einen LXC Container wird durch einen Click oben rechts auf „Erstelle CT“ angelegt.
Wichtig ist noch zu verstehen, dass bei einem Click in dem Fenter auf „Vorwärts“ durch alle Konfigurationsreiter geleitet wird.
In dem auf poppendem Einstellungsdialog sind zu erst die allgemeinen Einstellungen für den Container vor zu geben. Da dieser Container keine essentiellen Aufgaben erledigt, sondern nur sporadisch genutzt wird habe ich mir für einen unprivilegierten Container entschieden, welcher auf dem PVE1 mit der Container ID 101 geplant ist. Den Namen habe ich dann als Container ID + Funktion formuliert.
Der nächste Punkt im Setup-Prozeß ist dann die Auswahl des Templates.
Hier habe ich den lokalen Speicherort ausgewählt und das Turnkey Template für Ansible, welches zeitgleich auf die GUI Semaphore enthalt, ausgewählt.
Mit Vorwärts kommt man zu der gewünschten maximalen Diskgrößte des LXC Containers. Da hier nicht viel an Speichernutzung erwarten ist, denn außen Logfiles und einige Playbooks (also alles ASCII-Kram) rechne ich mit keiner signifikanten Speichernutzung. Hier sollten also 50GByte auf dem lokalen ZFS mehr als genug sein. Eine Nutzung von remote Speicher (Samba/NFS/etc.) habe ich noch nicht probiert, würde aber aus Performance-Gründen eher nicht dazu tendieren, dass alles übers Netzwerk transportieren zu wollen.
Der nächste Punkt ist die Anzahl der CPUs für den LXC Container.
Ich denke 2 CPUs für diesen Container sind ausreichend, da er beim Abarbeiten der Ansible-Playbooks eh sequentiell vorgeht und keine parallele Abarbeitung in multiplen Threads durchführen wird.
An diesen Punkt schließt sich der geplante RAM-Speicher an.
Ich denke hier werden 4GByte RAM ausreichen, sollte ich dann später sehen, dass beim Laufen von Playbooks geswapped wird, werde ich den RAM-Speicher nach oben korrigieren.
Der LXC Container soll ja im Netzwerk erreichbar sein. Hier ist es wie eingangs beschrieben sinnvoll sich eine Liste der IPv6 und ggf. auch IPv4-Adressen zu machen, um eine Art von Adressvergabeschema zu Hand zu haben und die Container selber strukturiert planen zu können. Ich habe hier für mich eine kleine Tabelle im LibreOffice für diese Zwecke.
Das Gateway für IPv6 habe ich nur der Vollständigkeit wegen auf die Fritzbox zeigen lassen. Vielleicht werde ich doch zu einem späteren Zeitpunkt noch Vlans aufsetzen und zwischen die Fritzbox eine Art von Router schalten.
Der letzte Schritt ist der DNS Abschnitt in der Konfiguration. Hier nehme ich ebenso die Fritzbox, welche im Setup des Proxmox (Host) vorgegeben wurden.
Alle signifikanten LXC Container Einstellungen wurde durchgeführt und werden als Zusammenfassung in dem Fenster vor dem Rollout zur abschließenden Bestätigung noch einmal angezeigt.
Der Rollout des Containers dauert auf meinem stromsparenden GigaByte NUC dann einige Minuten und zeigt dann in der Übersicht, dass er läuft und über die Konsole ansprechbar ist.
Beim ersten Anmelden im Konsole-Fenster des Containers mit dem User root und dem gerade vorher eingegebenem Passwort werden die innerhalb des Containers für Ansible wichtigen Detailinformationen abgefragt und konfiguriert.
Turnkey Linux vergibt sicherheitshalber erneut SSH-Keys und möchte die bereits erstellten folgerichtig überschreiben.
An dieses erneute erzeugen der SSH-Keys schließt die Frage an, ob ein vorhandener Turnkey-Linux Vertrag vorliegt und man die TurnKey Hub-Services möchte/kann. Da dieses bei mir nicht der Fall ist, skippe ich hier die Frage einfach.
Als nächstes kommt die Frage, wohin die anfallenden Meldungen/Informationen/Loggings/Fehler gemailt werden sollen. Da der Container nur sporadisch von mir genutzt wird, ist das für mich nicht notwendig.
Das Turnkey-Installationscript stößt anschließend die Aktualisierung der Sicherheitsupdates an.
Sinnvollerweise werden die Updates, nebst neuem Kernel durch einen aktivierendem Reboot des Containers (nicht des Hosts), aktiviert.
Der Ansible-Container ist nun vollständig konfiguriert, initialisiert und betriebsbereit. Ich prüfe nun die Nutzbarkeit, in dem ich zum einen auf die Konsole zugreife und zum anderen ob die GUI, in unserem Falle Ansible-Semaphore zugänglich ist, um sie dann im folgenden zu nutzen.
Der LXC-Container ist nun erfolgreich aufgesetzt und nutzbar.
Neueste Kommentare