diff --git a/lxc_erstes_beispiel_ansible.md b/lxc_erstes_beispiel_ansible.md index 976ecae..8972612 100644 --- a/lxc_erstes_beispiel_ansible.md +++ b/lxc_erstes_beispiel_ansible.md @@ -139,6 +139,16 @@ localhost ansible_connection=local 10.0.3.55 ansible_user=ubuntu ``` +Der Eintrag in der Ansible-Inventardatei "10.0.3.110 ansible_user=ubuntu" enthält zusätzliche Konfigurationsinformationen für einen Host. Hier ist eine Erklärung: + +- 10.0.3.110: Dies ist die IP-Adresse des Hosts, für den dieser Eintrag gilt. Ansible wird Aufgaben auf diesem Host ausführen. + +- ansible_user=ubuntu: Dies ist eine Konfigurationsanweisung in Form von "Schlüssel=Wert". Sie gibt an, welchen Benutzernamen Ansible verwenden soll, wenn es sich auf diesem Host anmeldet. + In diesem Fall ist der Benutzername "ubuntu". Das bedeutet, dass Ansible den SSH-Zugriff auf den Host unter Verwendung des Benutzernamens "ubuntu" herstellen wird, wenn es Aufgaben ausführt, die eine Remote-Verbindung erfordern. + +Zusammengefasst bedeutet dieser Eintrag in der Inventardatei, dass Ansible für den Host mit der IP-Adresse "192.0.3.110" den Benutzernamen "ubuntu" verwenden soll, wenn es Aufgaben auf diesem Host ausführt, die eine SSH-Verbindung erfordern. Dies ist hilfreich, um die Anmeldeinformationen für verschiedene Hosts anzugeben, wenn sie sich von den Standardwerten unterscheiden. + + ```bash ansible -i inventory -m ping notme vi inventory @@ -152,26 +162,87 @@ localhost ansible_connection=local 10.0.3.110 ansible_user=ubuntu ansible_password=ubuntu 10.0.3.55 ansible_user=ubuntu ansible_password=ubuntu ``` +Der gegebene Ansible Inventory-Eintrag definiert eine Gruppe namens "notme", die zwei Hosts enthält. Jeder Host ist durch seine IP-Adresse identifiziert und hat die gleichen Ansible-Benutzer +anmeldeinformationen (ansible_user und ansible_password), nämlich "ubuntu" für beide. + +Um dies mit Gruppenvariablen zu vereinfachen, könnten Sie die Gruppenvariablen in einer separaten Datei speichern. Hier ist, wie Sie das tun können: + +Aktualisieren Sie Ihre Ansible Inventory-Datei, um die Hosts der Gruppe "notme" zu referenzieren und die Gruppenvariablen einzubeziehen. Ihre Inventory-Datei könnte dann so aussehen: + +```ini +[notme] +10.0.3.110 +10.0.3.55 + +[notme:vars] +ansible_password=ubuntu +ansible_user=ubuntu +``` + +Jetzt sind die Gruppenvariablen "ansible_user" und "ansible_password" in der Gruppenvariablen-Datei definiert und werden automatisch auf alle Hosts in der Gruppe "notme" angewendet. Dies erleichtert die Verwaltung und Aktualisierung der gemeinsamen Variablen für Ihre Gruppe. + ```bash ansible -i inventory -m ping notme ansible -i inventory -m ping all ``` +Die beiden Ansible-Kommandos führen beide das Modul "ping" auf den in Ihrer Inventory-Datei definierten Hosts aus, aber es gibt einen wichtigen Unterschied in den Zielgruppen: + +1. ansible -i inventory -m ping notme + + Dieses Kommando führt das "ping"-Modul nur auf den Hosts aus, die der Gruppe "notme" in Ihrer Inventory-Datei zugeordnet sind. Es beschränkt sich also auf die Hosts in dieser spezifischen Gruppe. + +2. ansible -i inventory -m ping all + + Dieses Kommando führt das "ping"-Modul auf allen Hosts aus, die in Ihrer Inventory-Datei aufgeführt sind. Es ignoriert die Gruppenzuordnungen und führt den Ping-Befehl auf jedem Host in der Datei aus, unabhängig von der Gruppenzugehörigkeit. + +In Zusammenfassung: +- Das erste Kommando (ansible -i inventory -m ping notme) zielt nur auf die Hosts in der Gruppe "notme" ab. +- Das zweite Kommando (ansible -i inventory -m ping all) zielt auf alle in Ihrer Inventory-Datei aufgeführten Hosts ab, unabhängig von ihrer Gruppenzugehörigkeit. ```bash vi ansible.cfg cat ansible.cfg -``` -``` [defaults] inventory = ./inventory ``` +Dieses Kommando verwendet den Texteditor "vi" (oder "vim") zum Erstellen oder Bearbeiten der Datei ansible.cfg. In diesem Fall wird versucht, die Datei ansible.cfg im aktuellen Ver +zeichnis zu öffnen. Diese Datei wird verwendet, um die Konfigurationseinstellungen für Ansible zu definieren. Sie können sie verwenden, um benutzerspezifische Einstellungen für Ansible festzulegen. + +2. cat ansible.cfg + + Dieses Kommando verwendet den Befehl "cat", um den Inhalt der Datei ansible.cfg auf der Konsole anzuzeigen. Es dient dazu, den aktuellen Inhalt der Konfigurationsdatei anzuzeigen. + +In diesem Fall enthält die ansible.cfg-Datei die folgende Konfiguration: + +```plaintext +[defaults] +inventory = ./inventory +``` + +Diese Konfiguration gibt an, dass die Standard-Inventory-Datei für Ansible im aktuellen Verzeichnis als inventory gefunden werden soll. Das bedeutet, dass Ansible diese Datei automatisch + verwenden wird, um Informationen über die verfügbaren Hosts und Gruppen zu finden, es sei denn, Sie geben eine andere Inventory-Datei explizit in Ihren Ansible-Befehlen an. + +Zusammengefasst werden mit diesen beiden Befehlen die Ansible-Konfigurationsdatei erstellt oder bearbeitet und die darin definierte Konfiguration wird über den cat-Befehl angezeigt. + ```bash ansible -m ping all ansible --version -``` -``` + ... ansible [core 2.12.4] config file = /home/vagrant/ansible_lxc_bsa2/ansible.cfg ... ``` + +Das Kommando ansible --version wird verwendet, um Informationen über die installierte Ansible-Version anzuzeigen. Hier ist eine Erklärung für den gezeigten Auszug der Ausgabe: + +- ansible [core 2.12.4]: Dieser Teil der Ausgabe zeigt die installierte Ansible-Version an. In diesem Fall handelt es sich um Ansible Core Version 2.12.4. Dies gibt an, welche Hauptversion + (2) und Nebenversion (12) von Ansible installiert ist, zusammen mit dem Patch-Level (4). + +- config file = /home/vagrant/ansible_lxc_bsa2/ansible.cfg: Dieser Teil der Ausgabe gibt den Pfad zur Ansible-Konfigurationsdatei an. In diesem Fall befindet sich die Konfigurationsdatei + unter /home/vagrant/ansible_lxc_bsa2/ansible.cfg. Diese Datei enthält benutzerdefinierte Konfigurationseinstellungen für Ansible und kann verwendet werden, um das Verhalten von Ansible zu beeinflussen. + +Die Ausgabe des ansible --version-Befehls ist nützlich, um schnell Informationen über die installierte Ansible-Version und die Konfigurationsdatei anzuzeigen, die Ansible verwendet. Dies + kann hilfreich sein, um sicherzustellen, dass Sie die richtige Version von Ansible verwenden und um auf die Konfigurationseinstellungen zugreifen zu können, die in der Konfigurationsdatei + definiert sind. +