diff --git a/Beispiel/README.md b/Beispiel/README.md index 1b688b0..b224612 100644 --- a/Beispiel/README.md +++ b/Beispiel/README.md @@ -50,6 +50,11 @@ ansible-playbook site.yml ansible-playbook site.yml -e "nginx_port=9090" ``` +> **Wichtig:** Das Playbook läuft über `connection: local` direkt auf diesem +> Rechner — „localhost" ist kein echter Host im Netzwerk, es gibt nichts, wohin +> per SSH verbunden werden müsste. (Zusätzlich ist `ansible_connection: local` +> auch im `inventory.yml` hinterlegt.) + --- ## Variablen-Präzedenz im Beispiel diff --git a/Beispiel/site.yml b/Beispiel/site.yml index 62394b7..73e6a23 100644 --- a/Beispiel/site.yml +++ b/Beispiel/site.yml @@ -4,6 +4,8 @@ - name: Webserver auf localhost konfigurieren hosts: localhost + connection: local # Connection-Typ "local" (lokal) — "localhost" ist der HOST + # es gibt keinen echten Host, zu dem man SSH-en könnte gather_facts: true # Facts sammeln (OS, IP, Hostname, …) become: true # mit sudo ausführen (für Paket-Installation) diff --git a/README.md b/README.md index 08bdb19..fac381f 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,8 @@ Kompakte Referenz mit: 5. Wo Variablen definiert werden 6. Variablen-Präzedenz (Auflösungs-Reihenfolge) 7. Module & FQCN -8. Vollständiges Beispiel +8. ansible.cfg (Suchreihenfolge + Parameter) +9. Vollständiges Beispiel Das `.docx` wird aus dem `.md` per pandoc erzeugt: ```bash @@ -117,6 +118,7 @@ Die Struktur zeigt: - Jinja2-Templates (`nginx.conf.j2`, `index.html.j2` mit Schleife + Filter) - Facts (`ansible_distribution`, `ansible_hostname`, …) - FQCN (`ansible.builtin.*`) +- `connection: local` — läuft direkt auf dem Rechner, kein SSH (localhost ist kein echter Host) **Hinweis:** Das Beispiel nutzt `apt` (Debian/Ubuntu). Auf Manjaro/Arch verwendet man stattdessen `community.general.pacman` (Anpassung in diff --git a/ansible_praesentation.pptx b/ansible_praesentation.pptx index 353ad2d..b25737a 100644 Binary files a/ansible_praesentation.pptx and b/ansible_praesentation.pptx differ diff --git a/create_presentation.py b/create_presentation.py index b7b4864..2d2e52b 100644 --- a/create_presentation.py +++ b/create_presentation.py @@ -639,11 +639,11 @@ code_block(s, 6.6, 1.55, 6.2, [ "ansible webserver -m setup", "", "# Paket installieren", - "ansible webserver -m apt", + "ansible webserver -b -m apt", " -a \"name=nginx state=present\"", "", "# Dienst neu starten", - "ansible webserver -m service", + "ansible webserver -b -m service", " -a \"name=nginx state=restarted\"", ], font_size=10, title="Beispiele") footer(s) diff --git a/handout.docx b/handout.docx index 2c32f80..b08c167 100644 Binary files a/handout.docx and b/handout.docx differ diff --git a/handout.md b/handout.md index 75af84b..657139f 100644 --- a/handout.md +++ b/handout.md @@ -42,11 +42,11 @@ ansible all -m ping # Facts anzeigen ansible webserver -m setup -# Paket installieren -ansible webserver -m apt -a "name=nginx state=present" +# Paket installieren (mit become/-b für Root-Rechte) +ansible webserver -b -m apt -a "name=nginx state=present" -# Dienst neu starten -ansible webserver -m service -a "name=nginx state=restarted" +# Dienst neu starten (mit become/-b) +ansible webserver -b -m service -a "name=nginx state=restarted" ``` Wichtige Optionen: @@ -59,6 +59,21 @@ Wichtige Optionen: | `-b` | become (sudo) | | `-u` | Benutzer | +**Lokal gegen localhost:** + +`localhost` ist kein echter Host im Netzwerk. Um direkt auf dem eigenen Rechner +zu laufen (ohne SSH), nutzt man im Playbook: + +```yaml +- hosts: localhost # Hostname: localhost + connection: local # Connection-Typ: local (nicht "localhost"!) + gather_facts: true + become: true # sudo für z.B. Paket-Installation +``` + +> `hosts: localhost` (Host) und `connection: local` (Typ) sind zwei verschiedene +> Angaben — `localhost` ist der Hostname, `local` der Connection-Typ. + --- ## 3. Jinja2 — Variablen auflösen