rollen hinzugefügt

kraeml 2023-09-27 14:01:00 +00:00
parent ca68746dfd
commit 1432500617
1 changed files with 36 additions and 0 deletions

36
rollen.md Normal file

@ -0,0 +1,36 @@
# 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:
```yaml
- 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.