Browse Source

git, ansible und repos eingefügt

michael2015 6 days ago
parent
commit
0ed3749242
1 changed files with 85 additions and 1 deletions
  1. 85 1
      Technik/Netzinfrastruktur/Supernodes/Ansible Automatisierung.page

+ 85 - 1
Technik/Netzinfrastruktur/Supernodes/Ansible Automatisierung.page

@@ -6,6 +6,90 @@ title: Server-Automatisierung
 
 # Automatisierung der Supernodes und anderer Server
 
+## Aufbau und Konfiguration Steuerungsrechner-Repository-Zielrechner  
+
+Steuerungsrechner  
+
+Ein Steuerungsrechner wird mit Python3 und Ansible in einer virtuellen venv-Umgebung verwendet:  (überarbeiten)
+
+    ansible [core 2.19.3]  
+    config file = /home/m-an/git/snng-roles-l2tp/ansible.cfg  
+    configured module search path = ['/home/m-an/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']  
+    ansible python module location = /home/m-an/git/venv/lib/python3.12/site-packages/ansible  
+    ansible collection location = /home/m-an/.ansible/collections:/usr/share/ansible/collections  
+    executable location = /home/m-an/git/venv/bin/ansible  
+    python version = 3.12.3 (main, Nov  6 2025, 13:44:16) [GCC 13.3.0] (/home/m-an/git/venv/bin/python3)  
+    jinja version = 3.1.6  
+    pyyaml version = 6.0.3 (with libyaml v0.2.5)  
+
+Die Ansibleversion des Steuerungsrechners ausserhalb der venv-Umgebung unterscheidet sich durch die Systemupdates:  
+
+    ansible [core 2.19.4]  
+    config file = /home/m-an/git/snng-roles-l2tp/ansible.cfg  
+    configured module search path = ['/home/m-an/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']  
+    ansible python module location = /usr/lib/python3/dist-packages/ansible  
+    ansible collection location = /home/m-an/.ansible/collections:/usr/share/ansible/collections  
+    executable location = /usr/bin/ansible  
+    python version = 3.12.3 (main, Nov  6 2025, 13:44:16) [GCC 13.3.0] (/usr/bin/python3)  
+    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.   
+
+## Python venv-Umgebung erstellen  
+
+✅ 1. Benötigte Pakete installieren
+
+Unter Debian heißt das Paket für virtuelle Umgebungen meist python3-venv:
+
+    $ sudo apt update
+    $ sudo apt install python3-venv
+
+✅ 2. Virtuelle Umgebung erstellen
+
+Wechsle mit cd xyz in den gewünschten Projektordner und führe aus:
+
+    $ python3 -m venv venv
+
+Dadurch entsteht ein Verzeichnis venv/, das alle isolierten Python-Pakete enthält.
+
+✅ 3. venv aktivieren  
+
+    $ source venv/bin/activate
+
+Du erkennst die aktivierte venv an der (venv)-Präfix in der Shell.
+
+✅ 4. Pakete installieren
+
+Jetzt nutzt pip die isolierte Umgebung:  
+
+    $ pip install <paketname>
+
+Beispiel:
+
+    $ pip install requests
+
+✅ 5. venv wieder deaktivieren  
+
+    $ deactivate
+
+
+## Aufbau des Repository
+
+Das Repository ist unter gogs.ffdo.de im Verzeichnis snng-roles-l2tp zu finden. Dieses Repository ist geforkt von ffdo-infrastruktur/ffdo-ansible-l2tp.  
+
+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 als root ist grundsätzlich ausgeschlossen und für User nur über ssh möglich. 
+Das Passwort für die privilge-escalation ist abgeschaltet. Ein Aufruf für den server snng-dus03 lautet dann
+
+    $ ansible-playbook -b ng-gateway.yml -v -l snng-dus03 -u <username>
+
+und mit Tag
+
+    $ ansible-playbook -b ng-gateway.yml -v -l snng-dus03 --tags "<playbookname>" -u <username> 
+ 
+Die anderen dort vorhandenen Playbooks dienen zu Testzwecken.  
+
 
 ## historischer Stand
 
@@ -21,4 +105,4 @@ als eigenständige Rollen ausgegliedert und in eigene Repositories abgespalten
 Diese Rollen können eigenständig benutzt werden und sollten keine bzw. wenige Abhängigkeiten zu anderen Rollen haben. 
 Diese Rollen werden auch im oben genannten Playbook wiederverwendet.  
 
-Inzwischen werden die Repos des Freifunk Dortmund unter git.ffdo.de gehostet und dort über git bearbeitet.
+Inzwischen werden die Repos des Freifunk Dortmund unter git.ffdo.de gehostet und dort über git (siehe oben) bearbeitet.