Table of Contents
Templates
In Ansible dienen Templates dazu, dynamische Konfigurationsdateien zu erstellen, indem sie Variablen und Jinja2-Vorlagen kombinieren. Dies ermöglicht die Anpassung von Konfigurationen basierend auf unterschiedlichen Umgebungen oder Variablenwerten.
Hier ist ein einfaches Beispiel, wie Templates in einem Ansible-Playbook verwendet werden:
Angenommen, Sie haben eine Vorlage für die Konfigurationsdatei eines Web-Servers namens nginx.conf.j2
mit folgendem Inhalt:
server {
listen 80;
server_name {{ server_name }};
root {{ document_root }};
index index.html;
}
In Ihrem Ansible-Playbook können Sie diese Vorlage verwenden, um eine spezifische Konfigurationsdatei für einen Web-Server zu erstellen. Hier ist ein Playbook-Auszug:
---
- name: Konfiguriere den Web-Server
hosts: webserver
vars:
server_name: example.com
document_root: /var/www/html
tasks:
- name: Kopiere die nginx-Konfigurationsdatei
template:
src: nginx.conf.j2
dest: /etc/nginx/sites-available/example.com
notify:
- Restart nginx
handlers:
- name: Restart nginx
service:
name: nginx
state: restarted
In diesem Beispiel werden die Variablen server_name
und document_root
im Playbook definiert und dann in der Jinja2-Vorlage nginx.conf.j2
verwendet. Wenn das Playbook ausgeführt wird, erstellt es eine Konfigurationsdatei für den Web-Server mit den angegebenen Werten.
Das ist eine grundlegende Verwendung von Templates in Ansible. Sie können Templates auch für komplexere Szenarien verwenden, um Konfigurationsdateien für verschiedene Dienste und Hosts zu generieren.
Das Wiki zu den Fächern BSA und AIS. Home