|
|
@@ -10,7 +10,9 @@ title: Server-Automatisierung
|
|
|
|
|
|
## 1) Steuerungsrechner
|
|
|
|
|
|
-Ein Steuerungsrechner wird mit Python3 und Ansible in einer virtuellen venv-Umgebung verwendet: (überarbeiten)
|
|
|
+Der Steuerungsrechner (Control Host) hält die Konfigurationen der Zielrechner (target hosts) und die Ansible Playbooks zur Anpassung der Zielrechner vor.
|
|
|
+
|
|
|
+Ein Steuerungsrechner wird mit Python3 und Ansible in einer virtuellen venv-Umgebung verwendet:
|
|
|
|
|
|
ansible [core 2.19.3]
|
|
|
config file = /home/m-an/git/snng-roles-l2tp/ansible.cfg
|
|
|
@@ -34,7 +36,7 @@ Die Ansibleversion des Steuerungsrechners ausserhalb der venv-Umgebung kann sich
|
|
|
jinja version = 3.1.2
|
|
|
pyyaml version = 6.0.1 (with libyaml v0.2.5)
|
|
|
|
|
|
-Diese Unterschiede können zu Konflikten bei der Playbookerstellung führen, deshalb sollten während der Erstellung eines Playbooks weder die Ansible- noch die Pythonversion verändert werden.
|
|
|
+Diese Unterschiede können zu Konflikten bei der Playbookausführung führen, deshalb sollten während der Erstellung eines Playbooks weder die Ansible- noch die Pythonversion verändert werden.
|
|
|
|
|
|
## Python venv-Umgebung erstellen
|
|
|
|
|
|
@@ -51,7 +53,7 @@ Wechsle mit cd xyz in den gewünschten Projektordner und führe aus:
|
|
|
|
|
|
~/git/xyz $ python3 -m venv venv
|
|
|
|
|
|
-Dadurch entsteht ein Verzeichnis venv/, das alle isolierten Python-Pakete enthält.
|
|
|
+Dadurch entsteht ein Verzeichnis venv/, das unabhängig vom hostsystem die nötigen Python-Pakete enthält.
|
|
|
|
|
|
✅ 3. venv aktivieren
|
|
|
|
|
|
@@ -83,7 +85,8 @@ Das Repository ist unter gogs.ffdo.de im Verzeichnis snng-roles-l2tp zu finden.
|
|
|
|
|
|
Das komplette Playbook zur Erstellung eines Gateways/Supernodes heisst ng-gateway.yml, über Tags können daraus einzelne Playbooks isoliert ausgeführt werden.
|
|
|
Alle Playbooks werden als root ausgeführt, eine Anmeldung auf den Zielrechnern als root ist grundsätzlich ausgeschlossen und für User nur über ssh möglich.
|
|
|
-Das Passwort für die privilge-escalation, also für sudo ist abgeschaltet. Ein Aufruf für den Server snng-dus03 lautet dann:
|
|
|
+Dafür müssen für jeden User, der das Playbook ausführen soll, der publickey auf die Zielrechner kopiert werden.
|
|
|
+Das Passwort für die privelage-escalation, also für sudo ist abgeschaltet. Ein Aufruf für den Server snng-dus03 lautet dann:
|
|
|
|
|
|
(venv)$ ansible-playbook -b ng-gateway.yml -v -l snng-dus03 -u <username>
|
|
|
|
|
|
@@ -104,9 +107,10 @@ Damit werden Forks und evtl. notwendige --rebase vermieden.
|
|
|
## 3) Zielrechner
|
|
|
|
|
|
Ein Zielrechner oder eine Ziel-VM müssen folgende Elemente als Rohzustand enthalten, damit sie per ansible konfiguriert werden können:
|
|
|
-- ein aktuelles Debian-Betriebssystem
|
|
|
+- ein aktuelles Debian-Betriebssystem mit python3
|
|
|
- eine ip, also einen Netzzugang
|
|
|
-- einen ssh-Zugang für die Personen, die von ihrem Steuerungsrechner aus Playbooks auf dem Zielrechnmer ausführen möchten
|
|
|
+- einen ssh-Zugang für die Personen, die von ihrem Steuerungsrechner aus Playbooks auf dem Zielrechnmer ausführen möchten
|
|
|
+- ansible selbst ist **nicht** erforderlich
|
|
|
|
|
|
|
|
|
## historischer Stand
|