2 inventory
kraeml edited this page 2023-09-28 12:35:31 +00:00

Das Inventar (inventory)

Das Inventory ist ein wichtiger Teil des Ansible-Frameworks, da es Ansible mit den Informationen versorgt, die es benötigt, um Aktionen auf den angegebenen Hosts oder Hostgruppen auszuführen.

Das Inventory im Ansible-Kontext ist eine Datei oder eine Sammlung von Dateien, die Informationen über die zu verwaltenden Hosts enthält. Es enthält Details wie Hostnamen, IP-Adressen und Gruppenzugehörigkeiten. Die Hauptfunktionen des Inventars sind:

  1. Hostdefinition: Sie definiert die Hosts, auf denen Ansible Playbooks ausgeführt werden sollen.

  2. Gruppenbildung: Hosts können in Gruppen organisiert werden, um die Ausführung von Aufgaben auf bestimmten Hosts oder Hostgruppen zu erleichtern.

  3. Variablenzuweisung: Sie ermöglicht die Zuweisung von Variablen zu einzelnen Hosts oder Hostgruppen, um Konfigurationsunterschiede zwischen den Hosts zu berücksichtigen.

@startuml
start
:Start;
if (LXC Maschinen erstellt) then (Ja)
else (Nein)
  :LXC-Maschinen ersellen;
endif
if (LXC Maschinen gestartet) then (Ja)
else (Nein)
  :LXC Maschinen startet;
  :auf LXC Maschinen warten;
endif
:Ermitteln der IPv4;
if (ssh Key vorhanden?) then (Ja);
else (Nein)
  :SSH Schlüssel erstellen;
endif
if (Schlüssel für den Benutzer verteilt?) then (Ja)
else (Nein)
  :SSH Schlüssel verteilen;
endif
end
@enduml

Beispiel für ein einfaches Ansible-Inventar:

[web]
webserver1 ansible_host=192.168.1.101
webserver2 ansible_host=192.168.1.102

[db]
dbserver1 ansible_host=192.168.1.201
dbserver2 ansible_host=192.168.1.202

[all:vars]
ansible_user=myuser

In diesem Beispiel:

  • web und db sind Gruppen.
  • webserver1, webserver2, dbserver1 und dbserver2 sind Hosts.
  • ansible_host definiert die IP-Adresse jedes Hosts.
  • ansible_user ist eine Gruppenvariable, die für alle Hosts in der all-Gruppe gilt.

Ja, es gibt auch Gruppenvariablen. In Ansible können Sie Variablen auf Gruppen- oder Hostebene definieren und verwenden, um Konfigurationen anzupassen oder spezifische Aufgaben auszuführen, die nur für bestimmte Hosts oder Gruppen gelten. Gruppenvariablen werden in der Inventardatei unter der jeweiligen Gruppe definiert.