Ansible Grundlagen

28 Mai, 2026

Dirk Wening
Dirk Wening
Technical Writer

Dirk arbeitet seit Januar 2025 bei NETWAYS als Junior Consultant im Zuge seiner Umschulung zum Fachinformatiker für Systemintegration. Aktuell arbeitet er in der Abteilung  NETWAYS Professional Services und strebt nach seiner Umschulung eine Übernahme zum Consulting-Team an. In seiner Freizeit unternimmt er sehr viel mit seiner Tochter oder spielt American Football.

von | Mai 28, 2026

Zuletzt aktualisiert: 28.05.2026

Stell dir vor, du musst auf 10 Servern die gleichen Pakete installieren, Dienste starten und Konfigurationen anpassen. Manuell via SSH, mit Copy-Paste-Commands und unzähligen Fehlersuchen.

Ansible, ein Open Source Tool, das überwiegend von Red Hat entwickelt wird, automatisiert genau diese wiederkehrenden Aufgaben. Es funktioniert ohne Agenten auf Linux- und Windows-Systemen, verwendet einfache, verständliche Sprachen wie YAML oder JSON und ermöglicht skalierbare sowie fehlerfreie IT-Prozesse.

Dieser Artikel zeigt dir Schritt für Schritt die Ansible Grundlagen. Das bedeutet konkret wie du Ansible installierst, dein erstes Inventar erstellst und ein einfaches Playbook schreibst – etwa zum Bereitstellen eines Webservers auf mehreren Maschinen. Am Ende bist du in der Lage, ohne Vorkenntnisse in komplexer Programmierung selbstständig zu starten.

Ansible Grundbegriffe

Ansible basiert auf wenigen Bausteinen, die du kombinierst, um Automatisierungen zu bauen. Hier die wichtigsten Begriffe und Ansible Grundlagen mit Beispielen.

Das Inventory ist eine zentrale Datei, in der du alle deine Hosts und Hostgruppen verwaltest. Du kannst darin entweder eine einfache Liste aller Server pflegen oder sie in Gruppen strukturieren, zum Beispiel nach Umgebung (dev, test, prod) oder geografischem Standort.

vim inventory.ini
---
[webserver]
web1 ansible_host=192.168.1.10
web2 ansible_host=192.168.1.20

[datenbank]
db1 ansible_host=192.168.1.101
db2 ansible_host=192.168.1.102

So könntest du später sagen, dass ein Play nur auf der Gruppe Webserver ausgeführt werden soll.

Module sind die Bausteine, mit denen Ansible konkrete Aufgaben ausführt. Sie übernehmen z. B. das Installieren von Paketen (apt), das Kopieren von Dateien (copy) oder das Verwalten von Diensten (service). Du musst kein eigenes Programm schreiben, sondern rufst einfach das passende Modul mit den richtigen Parametern auf.

-name: nginx installieren
 ansible.builtin.apt
   name: nginx
   state present

Ansible legt hier einen webserver an.

Ein Task ist eine einzelne Aktion, die Ansible auf einem Host ausführt. Jeder Task nutzt genau ein Modul und beschreibt, was passieren soll. Zusätzlich gibst du einen Namen an, damit du im Output sofort erkennst, welcher Schritt gerade läuft.

- name: "Paketlisten aktualisieren"
  ansible.builtin.apt:
    update_cache: true

Ein Play ist die Kombination aus Tasks und Hostgruppen. In einem Play können mehrere Tasks verwendet werden. Diese werden nacheinander auf den gewählten Hosts ausgeführt. Im Folgenden zeige ich wie ein solches Play aussehen kann.

Es werden zwei Tasks ausgeführt: einer installiert den Webserver, der andere startet ihn.

-name: "webserver installieren"
 hosts: webserver
 become: true
 tasks:
  - name: nginx installieren
    ansible.builtin.apt:
      name: nginx
      state: present

  - name: Dienst starten
    ansible.builtin.service:
      name: nginx
      state: started
      enabled: true

Ein Playbook ist das Gesamtskript. Es kann ein oder mehrere Plays enthalten. Du startest es mit ansible-playbook dein_playbook_name.yml.

Es führt dann die definierten Plays und Tasks nacheinander aus.

Was benötigst du?

Für den Control Node:

  • Betriebssystem: Linux, macOS
    (Windows wird als Control Node offiziell nicht unterstützt, hier ist WSL erforderlich)
  • Internetzugang
  • Python 3
  • Einen Texteditor (Vim, VS Code, Nano, etc.)

Für den Test-Managed Node:

  • Betriebssystem: Linux, macOS oder WIndows
  • SSH-Zugang mit Sudo-Rechten

Schritt 1: Installieren von Ansible

sudo apt update
sudo apt install ansible

Schritt 2: Erstes Inventory erstellen

Im Folgenden Schritt erstellst du die inventory.ini Datei

Diese füllst du dann auch gleich mit deinen Host-Angaben.

vim inventory.ini
[webserver]
host1 ansible_host=192.168.1.10

Schritt 3: SSH-Verbindung vorbereiten

Nach dem Erstellen der inventory.ini richtest du einen passwortlosen SSH- Zugang auf jeder Maschine ein. Hierfür generierst du auf deinem Control Node ein Schlüsselpaar und kopierst den Public Key auf jedem Managed Node.

ssh-keygen -t ed25519 -C "ansible"
ssh-copy-id user@deine.verwendete.ip

Schritt 4: Erstellen eines Playbooks

Nun erstellst du dein erstes Playbook. Hierfür erstellst du eine YAML Datei im selben Verzeichnis wie deine inventory.ini und nennst sie webserver.yml. Dieses Play installiert dir auf deinem host1 einen Webserver und startet diesen gleich.

vim webserver.yml

---
-name: Nginx Webserver bereitstellen
 hosts: webserver
 become: true
 tasks:
  - name: Paketlisten aktualisieren
     ansible.builtin.apt:
       update_cache: true

  - name: Nginx installieren
   ansible.builtin.apt:
     name: nginx
     state: present

  - name: Nginx starten
   ansible.builtin.service:
     name: nginx
     state: started
     enabled: true

Nach dem Speichern der YAML Datei kannst du nun zum Ausführen deines Playbooks kommen. Verwende hierfür folgenden Befehl:

ansible-playbook -i inventory.ini webserver.yml --ask-become-pass

Der Befehl bedeutet Folgendes:

  • Wir verwenden ein ansible-playbook und nutzen hierfür die inventory.ini, um festzustellen, welcher Host betroffen ist.
  • Wir verwenden das Play webserver.yml und mit ask-become-pass fragt Ansible uns nach dem Sudo-Passwort.

Als Gegenprobe kannst du dich nun auf deinem Manage Node anmelden und den Status von nginx testen.

Damit sind wir am Ende dieses Artikels für die Ansible Grundlagen angelangt. Ich hoffe, ich konnte dir bei deinen ersten Schritten in der Automatisierung mit Ansible helfen und dir zeigen, wie einfach sich wiederkehrende Aufgaben automatisieren lassen. Vielen Dank fürs Lesen und viel Erfolg beim Ausprobieren!

Wie hat Dir unser Artikel gefallen?