2 templates
kraeml edited this page 2023-09-27 14:21:35 +00:00

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.