Table of Contents
Rollen
Rollen in Ansible sind wiederverwendbare Sammlungen von Playbooks, Variablen, Vorlagen und anderen Ansible-Dateien. Sie dienen dazu, die Konfiguration und Automatisierung von Aufgaben zu strukturieren und zu modularisieren. Rollen ermöglichen es, Playbooks in kleinere, leichter wartbare Teile aufzuteilen und sie bei Bedarf in verschiedenen Playbooks oder Projekten wiederzuverwenden.
Hier ist ein einfaches Beispiel, wie eine Rolle in einem Ansible-Projekt verwendet wird:
Angenommen, Sie erstellen eine Rolle namens webserver
, die einen Webserver (z.B. Apache) konfigurieren soll. Die Struktur der Rolle könnte folgendermaßen aussehen:
webserver/
├── tasks/
│ └── main.yml
├── templates/
│ └── index.html.j2
└── vars/
└── main.yml
In der Datei main.yml
im tasks-Verzeichnis können Sie Aufgaben definieren, die spezifisch für den Webserver sind, z. B. die Installation von Apache und das Starten des Dienstes.
In der index.html.j2
-Datei im templates-Verzeichnis können Sie die HTML-Vorlage für die Website definieren.
In der main.yml
-Datei im vars
-Verzeichnis können Sie Variablen speichern, die von anderen Teilen Ihrer Rolle verwendet werden, z. B. den Port, auf dem der Webserver laufen soll.
Wenn Sie diese Rolle in einem Playbook verwenden möchten, fügen Sie sie zu Ihrem Playbook hinzu:
- name: Konfiguriere den Webserver
hosts: webserver_hosts
roles:
- webserver
Hier wird die Rolle webserver
auf den in hosts
definierten Hosts angewendet. Ansible wird die in der Rolle definierten Aufgaben, Vorlagen und Variablen auf diese Hosts anwenden.
Rollen in Ansible erleichtern die Wiederverwendung von Konfigurationen und die Organisation von Playbooks in großen Automatisierungsprojekten.
Das Wiki zu den Fächern BSA und AIS. Home