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 ansibl_host=192.168.1.10
web2 ansibl_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 oder Windows
  • 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
[host]
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: yes

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

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

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-bekome-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!

Fragen oder Unterstützung nötig?
Du möchtest Ansible produktiv einsetzen oder brauchst Hilfe bei der Automatisierung deiner Infrastruktur? Wir unterstützen dich gerne – von der ersten Einrichtung bis zum skalierbaren Betrieb.
Schreib uns einfach eine Nachricht oder melde dich unverbindlich über unser Kontaktformular und wir schauen gemeinsam, wie wir dich am besten weiterbringen.

Wie hat Dir unser Artikel gefallen?