Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
linux:ansible:basics [14.09.2022 10:36. ] – django | linux:ansible:basics [26.07.2025 11:13. ] (aktuell) – [Paket ansible] django | ||
---|---|---|---|
Zeile 29: | Zeile 29: | ||
{{ : | {{ : | ||
- | === 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 |
- | {{ : | + | {{ : |
=== online-Dokumentation === | === online-Dokumentation === | ||
Zeile 46: | Zeile 46: | ||
=== 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 78: | 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 ==== | ||
Zeile 247: | 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 363: | 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 769: | 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 800: | 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 1080: | Zeile 1102: | ||
Nachdem wir uns nun eigehend mit den Grundlagen zu Ansible beschäftigt haben, wollen wir nun noch das eigentliche Paket **ansible** installieren. | Nachdem wir uns nun eigehend mit den Grundlagen zu Ansible beschäftigt haben, wollen wir nun noch das eigentliche Paket **ansible** installieren. | ||
- | Die Installation von Ansible auf unserer Admin-Workstation, | + | Die Installation von Ansible auf unserer Admin-Workstation, |
+ | # pacman -Sy ansible | ||
+ | |||
+ | bzw. | ||
# dnf install ansible | # dnf install ansible | ||
+ | bzw. | ||
+ | $ sudo apt install ansible -y | ||
+ | |||
+ | oder | ||
+ | # zyppr in ansible -y | ||
+ | |||
+ | ==== Paket ansible ==== | ||
+ | Einen Überblick über das Paket **ansible**, | ||
+ | |||
+ | Bsp unter **[[https:// | ||
+ | # pacman -Qi ansible | ||
+ | |||
+ | ++++ Paketbeschreibung und Versionsangabe | | ||
+ | < | ||
+ | Version | ||
+ | Description | ||
+ | Architecture | ||
+ | URL : https:// | ||
+ | Licenses | ||
+ | Groups | ||
+ | Provides | ||
+ | Depends On : python | ||
+ | Optional Deps : python-argcomplete: | ||
+ | python-pyopenssl: | ||
+ | python-dnspython: | ||
+ | python-ovirt-engine-sdk: | ||
+ | python-boto3: | ||
+ | python-ldap: | ||
+ | python-proxmoxer: | ||
+ | python-openstacksdk: | ||
+ | python-pynetbox: | ||
+ | python-ldap: | ||
+ | python-kubernetes: | ||
+ | python-keyring: | ||
+ | python-github3py: | ||
+ | python-lxc: LXC module | ||
+ | python-fqdn: | ||
+ | acme-tiny: openssl_certificate module | ||
+ | Required By : None | ||
+ | Optional For : None | ||
+ | Conflicts With : None | ||
+ | Replaces | ||
+ | Installed Size : 537.68 MiB | ||
+ | Packager | ||
+ | Build Date : Wed 16 Jul 2025 06:36:01 PM CEST | ||
+ | Install Date : Sat 26 Jul 2025 12:52:57 PM CEST | ||
+ | Install Reason | ||
+ | Install Script | ||
+ | Validated By : Signature | ||
+ | </ | ||
+ | ++++ | ||
- | ==== RPM-Paket ansible ==== | + | Nachfolgend sehen wir ein Beispiel unter einem RPM-basierenden Distribution: |
- | Einen Überblick über das Paket kann man mit Hilfe des Befehls **'' | + | |
# rpm -qi ansible | # rpm -qi ansible | ||
+ | |||
+ | ++++ Paketbeschreibung und Versionsangabe | | ||
< | < | ||
Version | Version | ||
Zeile 1110: | Zeile 1188: | ||
on remote nodes. Extension modules can be written in any language and | on remote nodes. Extension modules can be written in any language and | ||
are transferred to managed machines automatically.</ | are transferred to managed machines automatically.</ | ||
+ | ++++ | ||
+ | |||
+ | Interessieren wir uns für eine Datei- und Ordnerliste, | ||
+ | # pacman -Qil ansible | ||
+ | |||
+ | bzw. | ||
- | Interessieren wir uns für eine Datei- und Ordnerliste, | ||
# rpm -qil ansible | # rpm -qil ansible | ||
===== 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:// | ||