Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
linux:ansible:basics [14.09.2022 10:36. ] – django | linux:ansible:basics [21.02.2024 22:28. ] (aktuell) – [Links] django |
---|
{{ :linux:ansible:ansible-playbook-essentials.png?nolink&250 |Bild: Buchcover Ansible Playbook Essentials von Gourav Shah}} | {{ :linux:ansible:ansible-playbook-essentials.png?nolink&250 |Bild: Buchcover Ansible Playbook Essentials von Gourav Shah}} |
| |
=== Axel Miesen - Ansible für Administratoren und DevOps-Teams === | === Axel Miesen - Ansible - Das Praxisbuch für Administratoren und DevOps-Teams === |
Das dritte Buch (aktuelle Auflage von August 2020) im Bunde, welches sehr zu empfehlen ist, ist das Buch **Ansible - Das Praxisbuch für Administratoren und DevOps-Teams** von **//Axel Miesen//**, erschienen im Verlag [[https://www.rheinwerk-verlag.de/|Rheinwerk Computing]]. Erhältlich als **[[https://www.buecher.de/shop/server/ansible/miesen-axel/products_products/detail/prod_id/59485549/|(eBook, PDF)]]** oder als gedruckte Version im einschlägigen Fachbuchhandel zu bestellen: (ISBN: 978-3-8362-7660-3). | Das dritte Buch (aktuelle Auflage von August 2022) im Bunde, welches sehr zu empfehlen ist, ist das Buch **Ansible - Das Praxisbuch für Administratoren und DevOps-Teams** von **//Axel Miesen//**, erschienen im Verlag [[https://www.rheinwerk-verlag.de/|Rheinwerk Computing]]. Erhältlich als **[[https://www.buecher.de/shop/automatisierungstechnik/ansible-ebook-epub/miesen-axel/products_products/detail/prod_id/63422255/|(eBook, PDF)]]** oder als gedruckte Version im einschlägigen Fachbuchhandel zu bestellen: (ISBN: 978-3-8362-8906-1). |
{{ :linux:ansible:ansible-axel-miesen.png?nolink&250 |Bild: Buchcover Ansible für Administratoren und DevOps-Teams vom Axel Miesen}} | {{ :linux:ansible:ansible-axel-miesen.png?nolink&251 |Bild: Buchcover Ansible für Administratoren und DevOps-Teams vom Axel Miesen}} |
| |
=== online-Dokumentation === | === online-Dokumentation === |
=== Dokumentation (RPM) === | === Dokumentation (RPM) === |
Vom Maintainer des Paketes **ansible** wird auch die zugehörige sehr umfangreiche Dokumentation in Form eines eigenen Paketes **//ansible-doc//** zur Verfügung gestellt. | Vom Maintainer des Paketes **ansible** wird auch die zugehörige sehr umfangreiche Dokumentation in Form eines eigenen Paketes **//ansible-doc//** zur Verfügung gestellt. |
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 **''rpm -qil''** erhalten wir einen Überblick über das betreffende Paket. | $ 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 -qil''** erhalten wir bei Fedora-spezifischen Distributionen einen Überblick über das betreffende Paket. |
# rpm -qi ansible-doc | # rpm -qi ansible-doc |
| |
| |
This package installs extensive documentation for ansible</code> | This package installs extensive documentation for ansible</code> |
| |
| Ein entsprechender Aufruf auf einem Debian-basierten System wäre in diesem Falle: |
| $ dpkg -l ansible-doc |
| <code>Desired=Unknown/Install/Remove/Purge/Hold |
| | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |
| |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) |
| ||/ Name Version Architecture Description |
| +++-==============-============-============-================================== |
| ii ansible-doc 2.9.6+dfsg-1 all Ansible documentation and examples</code> |
| |
Eine Auflistung sämtlicher mitgelieferter Dateien erhält man durch Ergänzung der Option **''l''**. | Eine Auflistung sämtlicher mitgelieferter Dateien erhält man durch Ergänzung der Option **''l''**. |
# 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 ==== |
# ansible --version | # ansible --version |
| |
<code>ansible 2.9.13 | <code>ansible [core 2.13.2] |
config file = /home/django/.ansible.cfg | config file = /home/django/.ansible.cfg |
configured module search path = ['/home/django/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] | configured module search path = ['/home/django/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] |
ansible python module location = /usr/lib/python3.8/site-packages/ansible | ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible |
executable location = /usr/bin/ansible | ansible collection location = /home/django/.ansible/collections:/usr/share/ansible/collections |
python version = 3.8.5 (default, Aug 12 2020, 00:00:00) [GCC 10.2.1 20200723 (Red Hat 10.2.1-1)]</code> | executable location = /usr/local/bin/ansible |
| python version = 3.8.10 (default, Jun 22 2022, 20:18:18) [GCC 9.4.0] |
| jinja version = 3.1.2 |
| libyaml = True |
| </code> |
| |
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** **''intranet''** alle Server neu starten und dabei statt der default-mäßigen parallelen Abarbeitung von **5** parallelen Prozessen **15** verwenden. | 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** **''intranet''** alle Server neu starten und dabei statt der default-mäßigen parallelen Abarbeitung von **5** parallelen Prozessen **15** verwenden. |
| |
==== Module - Dokumentation ==== | ==== Module - Dokumentation ==== |
Ansible bringt bei der Installation eine Vielzahl von Modulen, die sich im Verzeichnis **''../ansible/modules/''** befinden, mit, mit deren Hilfe wir uns die Abrit mit unseren Playbooks wesentlich vereinfachen können. | Ansible bringt bei der Installation eine Vielzahl von Modulen, die sich im Verzeichnis **''../ansible/modules/''** befinden, mit, mit deren Hilfe wir uns die Arbeit mit unseren Playbooks wesentlich vereinfachen können. |
| |
Wie diese **[[https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html|Module]]** zu verwenden sind, kann man entweder über die Ansible-Dokuseite im **[[https://docs.ansible.com/ansible/latest/modules/modules_by_category.html|WEB]]** erkunden oder auch mit Hilfe des Befehls **''ansible#doc''** erfragen. | Wie diese **[[https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html|Module]]** zu verwenden sind, kann man entweder über die Ansible-Dokuseite im **[[https://docs.ansible.com/ansible/latest/modules/modules_by_category.html|WEB]]** erkunden oder auch mit Hilfe des Befehls **''ansible#doc''** erfragen. |
| |
Also entweder im Falle des Modules**dnf** die Webseite https://docs.ansible.com/ansible/latest/modules/dnf_module.html besuchen oder auf der Konsole den Befehl **''ansible-doc dnf''** bemühen. | Also entweder im Falle des Modules **dnf** die Webseite https://docs.ansible.com/ansible/latest/modules/dnf_module.html besuchen oder auf der Konsole den Befehl **''ansible-doc dnf''** bemühen. |
$ ansible-doc dnf | $ ansible-doc dnf |
<code>> DNF (/usr/lib/python3.6/site-packages/ansible/modules/packaging/os/dnf.py) | <code>> DNF (/usr/lib/python3.6/site-packages/ansible/modules/packaging/os/dnf.py) |
# dnf install ansible -y | # dnf install ansible -y |
| |
| bzw. |
| $ sudo apt install ansible -y |
| |
| oder |
| # zyppr in ansible -y |
| |
==== RPM-Paket ansible ==== | ==== RPM-Paket ansible ==== |
| |
===== weitere Schritte zur Installation und Konfiguration ===== | ===== weitere Schritte zur Installation und Konfiguration ===== |
Nachdem wir uns nun eingehend mit den **[[#grundlagen|Grundlagen]]** und auch schon das benötigte Programmpaket auf unserer Admin-Workstation zur Orchestrierung **[[#installation|installiert haben]]**, machen wir uns nun an die Konfiguration von Ansible und wagen uns an die ersten Playbooks im Kapitel **[[centos:ansible:first| Erste Schritte Rund um Ansible]]** heran. | Nachdem wir uns nun eingehend mit den **[[#grundlagen|Grundlagen]]** und auch schon das benötigte Programmpaket auf unserer Admin-Workstation zur Orchestrierung **[[#installation|installiert haben]]**, machen wir uns nun an die Konfiguration von Ansible und wagen uns an die ersten Playbooks im Kapitel **[[linux:ansible:first| Erste Schritte Rund um Ansible]]** heran. |
| |
====== Links ====== | ====== Links ====== |
* **⇒ [[centos:ansible:first|Weiter zum Kapitel "Erste Schritte Rund um Ansible"]]** | * **⇒ [[first|Weiter zum Kapitel "Erste Schritte Rund um Ansible"]]** |
* ** [[centos:ansible:start|Zurück zur "Ansible"-Übersicht]]** | * ** [[start|Zurück zur "Ansible"-Übersicht"]]** |
* **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]** | * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]** |
* **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]** | * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]** |
| |