Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
linux:ansible:basics [14.09.2022 10:31. ] – angelegt django | linux:ansible:basics [18.11.2024 19:06. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Ansible ====== | ====== Ansible ====== | ||
- | {{:centos: | + | {{:linux: |
Einzelne Serversysteme mag man durchaus noch manuell einzeln installieren, | Einzelne Serversysteme mag man durchaus noch manuell einzeln installieren, | ||
* Wiederkehrende und auch regelmässige Konfigurationsaufgaben und Tätigkeiten sollen automatisiert werden, um somit, | * Wiederkehrende und auch regelmässige Konfigurationsaufgaben und Tätigkeiten sollen automatisiert werden, um somit, | ||
Zeile 23: | Zeile 23: | ||
=== O’REILLY Fachbuch - Ansible: Up & Running === | === O’REILLY Fachbuch - Ansible: Up & Running === | ||
Ein wertvoller und verlässlicher Begleiter beim eingehenden Studium von Ansible und dessen Fähigkeiten kann sicher das Buch **Ansible: Up & Running** (ISBN: 978-1-491-97980-8) von **[[https:// | Ein wertvoller und verlässlicher Begleiter beim eingehenden Studium von Ansible und dessen Fähigkeiten kann sicher das Buch **Ansible: Up & Running** (ISBN: 978-1-491-97980-8) von **[[https:// | ||
- | {{ :centos: | + | {{ :linux: |
=== Gourav Shah - Ansible Playbook Essentials === | === Gourav Shah - Ansible Playbook Essentials === | ||
Ein weiteres sehr gutes Fachbuch zu Ansible in englischer Sprache ist das Buch **Ansible Playbook Essentials** von **//Gourav Shah//**, erhältlich als **[[https:// | Ein weiteres sehr gutes Fachbuch zu Ansible in englischer Sprache ist das Buch **Ansible Playbook Essentials** von **//Gourav Shah//**, erhältlich als **[[https:// | ||
- | {{ :centos: | + | {{ :linux: |
- | === Axel Miesen - Ansible für Administratoren und DevOps-Teams === | + | === Axel Miesen - Ansible |
- | Das dritte Buch (aktuelle Auflage von August | + | Das dritte Buch (aktuelle Auflage von August |
- | {{ :centos: | + | {{ :linux: |
=== online-Dokumentation === | === online-Dokumentation === | ||
Zeile 43: | Zeile 43: | ||
* **[[https:// | * **[[https:// | ||
* **[[https:// | * **[[https:// | ||
- | |||
=== Dokumentation (RPM) === | === Dokumentation (RPM) === | ||
Vom Maintainer des Paketes **ansible** wird auch die zugehörige sehr umfangreiche Dokumentation in Form eines eigenen Paketes **// | Vom Maintainer des Paketes **ansible** wird auch die zugehörige sehr umfangreiche Dokumentation in Form eines eigenen Paketes **// | ||
- | Wir installieren uns also das zugehörige Paket. | + | Wir installieren uns also das zugehörige Paket, mit Hilfe des Distributionsspezifischen Paket-Managers. |
+ | Bsp.: | ||
# dnf install ansible-doc -y | # dnf install ansible-doc -y | ||
- | + | ||
- | Nach erfolgter Installation finden wir auf der Festplatte unserer Admin-Workstation umfangreiche Dokumentationen. Mit Hilfe des Befehls **'' | + | $ sudo apt install ansible-doc -y |
+ | |||
+ | # zypper in ansible-doc -y | ||
+ | |||
+ | Nach erfolgter Installation finden wir auf der Festplatte unserer Admin-Workstation umfangreiche Dokumentationen. Mit Hilfe des Befehls **'' | ||
# rpm -qi ansible-doc | # rpm -qi ansible-doc | ||
Zeile 79: | Zeile 83: | ||
This package installs extensive documentation for ansible</ | This package installs extensive documentation for ansible</ | ||
+ | |||
+ | Ein entsprechender Aufruf auf einem Debian-basierten System wäre in diesem Falle: | ||
+ | $ dpkg -l ansible-doc | ||
+ | < | ||
+ | | Status=Not/ | ||
+ | |/ Err? | ||
+ | ||/ Name | ||
+ | +++-==============-============-============-================================== | ||
+ | ii ansible-doc | ||
Eine Auflistung sämtlicher mitgelieferter Dateien erhält man durch Ergänzung der Option **'' | Eine Auflistung sämtlicher mitgelieferter Dateien erhält man durch Ergänzung der Option **'' | ||
- | # rpm -qi ansible-doc | + | # rpm -qil ansible-doc |
+ | |||
+ | Ein entsprechender Aufruf auf einem Debian-basierten System wäre in diesem Falle: | ||
+ | $ dpkg -L ansible-doc | ||
==== Ansible Funktionsbeschreibung ==== | ==== Ansible Funktionsbeschreibung ==== | ||
Das folgende Übersichtsskizze zeit die grundlegende Module und die die Funktionsweise von Ansible. | Das folgende Übersichtsskizze zeit die grundlegende Module und die die Funktionsweise von Ansible. | ||
- | {{ :centos: | + | {{ :linux: |
/* | /* | ||
Zeile 248: | Zeile 265: | ||
<file yaml / | <file yaml / | ||
name: install and configure MX | name: install and configure MX | ||
- | hosts: mxtest.dmz.mailserver.guru | + | hosts: mxtest.dmz.nausch.org |
become: yes | become: yes | ||
Zeile 364: | Zeile 381: | ||
Die zugehörige Definition in einem unserer Playbooks würde dann wie folgt aussehen. | Die zugehörige Definition in einem unserer Playbooks würde dann wie folgt aussehen. | ||
<code yaml>--- | <code yaml>--- | ||
- | - hosts : dns.dmz.mailserver.guru | + | - hosts : dns.dmz.nausch.org |
vars: | vars: | ||
dns_port : 53 | dns_port : 53 | ||
Zeile 770: | Zeile 787: | ||
# ansible --version | # ansible --version | ||
- | < | + | < |
config file = / | config file = / | ||
configured module search path = ['/ | configured module search path = ['/ | ||
- | ansible python module location = / | + | ansible python module location = /usr/local/ |
- | executable location = / | + | ansible collection location = / |
- | python version = 3.8.5 (default, | + | executable location = /usr/local/ |
+ | python version = 3.8.10 (default, | ||
+ | jinja version = 3.1.2 | ||
+ | libyaml = True | ||
+ | </ | ||
Sehen wir uns nun an, wie wir die zuvor gestelle Aufgabe des gleichzeitigen Neustarts von einer Gruppe Server parallelisiert anstoßen können. Im folgenden Beispiel wollen wir in der **Gruppe** **'' | Sehen wir uns nun an, wie wir die zuvor gestelle Aufgabe des gleichzeitigen Neustarts von einer Gruppe Server parallelisiert anstoßen können. Im folgenden Beispiel wollen wir in der **Gruppe** **'' | ||
$ ansible intranet -a "/ | $ ansible intranet -a "/ | ||
- | Genau so ist es natürlich möglich parallel auf mehreren Maschinen eine Date (um)zukopieren. Im nachfolgenden Beispiel kopieren wir auf allen DMZ-Maschinen die Datei **''/ | + | Genau so ist es natürlich möglich parallel auf mehreren Maschinen eine Date (um)zukopieren. Im nachfolgenden Beispiel kopieren wir auf allen DMZ-Maschinen die Datei **''/ |
- | $ ansible dmz -m copy -a "src = / | + | $ ansible dmz -m copy -a "src = / |
Ebenso kann man natürlich auch auf allen Webservern (Gruppe **www**) z.B. ein spezifisches Verzeichnis anlegen lassen. | Ebenso kann man natürlich auch auf allen Webservern (Gruppe **www**) z.B. ein spezifisches Verzeichnis anlegen lassen. | ||
Zeile 801: | Zeile 822: | ||
==== Module - Dokumentation ==== | ==== Module - Dokumentation ==== | ||
- | Ansible bringt bei der Installation eine Vielzahl von Modulen, die sich im Verzeichnis **'' | + | Ansible bringt bei der Installation eine Vielzahl von Modulen, die sich im Verzeichnis **'' |
Wie diese **[[https:// | Wie diese **[[https:// | ||
- | Also entweder im Falle des Modules**dnf** die Webseite https:// | + | Also entweder im Falle des Modules **dnf** die Webseite https:// |
$ ansible-doc dnf | $ ansible-doc dnf | ||
< | < | ||
Zeile 1084: | Zeile 1105: | ||
# dnf install ansible | # dnf install ansible | ||
+ | bzw. | ||
+ | $ sudo apt install ansible -y | ||
+ | |||
+ | oder | ||
+ | # zyppr in ansible -y | ||
==== RPM-Paket ansible ==== | ==== RPM-Paket ansible ==== | ||
Zeile 1116: | Zeile 1142: | ||
===== weitere Schritte zur Installation und Konfiguration ===== | ===== weitere Schritte zur Installation und Konfiguration ===== | ||
- | Nachdem wir uns nun eingehend mit den **[[# | + | Nachdem wir uns nun eingehend mit den **[[# |
====== Links ====== | ====== Links ====== | ||
- | * **⇒ [[centos: | + | * **⇒ [[first|Weiter zum Kapitel "Erste Schritte Rund um Ansible" |
- | * ** [[centos: | + | * ** [[start|Zurück zur " |
* **[[wiki: | * **[[wiki: | ||
* **[[http:// | * **[[http:// | ||