linux:ansible:basics

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
linux:ansible:basics [14.09.2022 11:20. ] – [adhoc - Befehle] djangolinux:ansible:basics [26.07.2025 11:13. ] (aktuell) – [Paket ansible] django
Zeile 49: Zeile 49:
 Bsp.: Bsp.:
    # dnf install ansible-doc -y    # dnf install ansible-doc -y
- +
    $ sudo apt install ansible-doc -y    $ sudo apt install ansible-doc -y
  
-   # zyppr in 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. 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.
Zeile 265: Zeile 265:
 <file yaml /etc/ansible/beispiel.yml>--- #YAML start Beispielsscript zur Installation und Konfiguration eines Mailservers <file yaml /etc/ansible/beispiel.yml>--- #YAML start Beispielsscript zur Installation und Konfiguration eines Mailservers
     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 381: 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 801: Zeile 801:
    $ ansible intranet -a "/usr/sbin/reboot" -f 15    $ ansible intranet -a "/usr/sbin/reboot" -f 15
  
-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 **''/etc/yum.repos.d/mailserver.guru.repo''** in das Zielverzeichnis **''/tmp''** und geben dabei einen neuen Dateinamen an. +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 **''/etc/yum.repos.d/nausch.org.repo''** in das Zielverzeichnis **''/tmp''** und geben dabei einen neuen Dateinamen an. 
-   $ ansible dmz -m copy -a "src = /etc/yum.repos.d/mailserver.guru.repo dest = /tmp/mailserver.guru.repo.backup"+   $ ansible dmz -m copy -a "src = /etc/yum.repos.d/nausch.org.repo dest = /tmp/nausch.org.repo.backup"
  
 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 822: Zeile 822:
  
 ==== 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)
Zeile 1102: 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, von der wir unsere Zielsysteme aus orchestrieren wollen, gestaltet sich dank unseres Paket-Managers **dnf** bzw. **yum** entsprechend einfach. Im Grunde reicht dabei die Installation des Paketes **//ansible//**. +Die Installation von Ansible auf unserer Admin-Workstation, von der wir unsere Zielsysteme aus orchestrieren wollen, gestaltet sich Dank unseres Distributionsspezifischen Paket-Managers **pacman**, **dnf**, **apt** oder bzw. **zyppr** entsprechend einfach. Im Grunde reicht dabei die Installation des Paketes **//ansible//**.  
 +   # pacman -Sy ansible 
 + 
 +bzw. 
    # dnf install ansible  -y    # dnf install ansible  -y
  
 +bzw.
 +   $ sudo apt install ansible -y
 +
 +oder
 +   # zyppr in ansible -y
 +
 +==== Paket ansible ====
 +Einen Überblick über das Paket **ansible**, welches wir gerade installiert haben, kann man mit Hilfe des distributionsspezifischen Paketmanagers sich anzeigen lassen.
 +
 +Bsp unter **[[https://archlinux.org/|Arch-Linux]]**
 +   # pacman -Qi ansible
 +
 +++++ Paketbeschreibung und Versionsangabe |
 +<code>Name            : ansible
 +Version         : 11.8.0-1
 +Description     : Official assortment of Ansible collections
 +Architecture    : any
 +URL             : https://pypi.org/project/ansible/
 +Licenses        : GPL-3.0-or-later
 +Groups          : None
 +Provides        : python-ansible_collections
 +Depends On      : python  ansible-core
 +Optional Deps   : python-argcomplete: shell completions
 +                  python-pyopenssl: openssl modules
 +                  python-dnspython: for dig lookup
 +                  python-ovirt-engine-sdk: ovirt support
 +                  python-boto3: aws_s3 module
 +                  python-ldap: ldap support
 +                  python-proxmoxer: proxmox modules
 +                  python-openstacksdk: OpenStack module
 +                  python-pynetbox: NetBox module
 +                  python-ldap: LDAP modules
 +                  python-kubernetes: Kubernetes modules
 +                  python-keyring: Keyring module
 +                  python-github3py: GitHub module
 +                  python-lxc: LXC module
 +                  python-fqdn: fqdn_valid module
 +                  acme-tiny: openssl_certificate module
 +Required By     : None
 +Optional For    : None
 +Conflicts With  : None
 +Replaces        : None
 +Installed Size  : 537.68 MiB
 +Packager        : Robin Candau <antiz@archlinux.org>
 +Build Date      : Wed 16 Jul 2025 06:36:01 PM CEST
 +Install Date    : Sat 26 Jul 2025 12:52:57 PM CEST
 +Install Reason  : Explicitly installed
 +Install Script  : No
 +Validated By    : Signature
 +</code>
 +++++
  
-==== 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''** sich anzeigen lassen.+
    # rpm -qi ansible    # rpm -qi ansible
 +
 +++++ Paketbeschreibung und Versionsangabe |
 <code>Name        : ansible <code>Name        : ansible
 Version     : 2.9.13 Version     : 2.9.13
Zeile 1132: 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.</code> are transferred to managed machines automatically.</code>
 +++++
 +
 +Interessieren wir uns für eine Datei- und Ordnerliste, werden wir mit der zusätzlichen Option **''l''** bei den zuvor gezeigten Aufrufen fündig, also z.B.:
 +   # pacman -Qil ansible
 +
 +bzw.
  
-Interessieren wir uns für eine Datei- und Ordnerliste, werden wir wie immer mit folgendem Aufruf fündig: 
    # 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 **[[#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]]**
  
  • linux/ansible/basics.1663154429.txt.gz
  • Zuletzt geändert: 14.09.2022 11:20.
  • von django