Zum Inhalt springen

Ansible: Mach dich zum Puppetmaster deiner Serverlandschaft!

29. Oktober 2024 durch
Ansible: Mach dich zum Puppetmaster deiner Serverlandschaft!
Carsten Depping

Ok, zugegeben, der Titel ist vielleicht etwas reißerisch, aber das ist genau das, was wir hier tun: Mit Ansible ziehen wir die Fäden, lassen unsere Server tanzen und halten dabei alles schön reproduzierbar und idempotent. Also, keine Zeit verlieren und ab in die Tiefen des Config Managements!

Der erste Schritt, um unser Server-Orchester in Einklang zu bringen, ist natürlich die Installation von Ansible. Ein kurzer Aufruf von `sudo apt-get install ansible` auf deinem Ubuntu-Server und schon bist du im Geschäft.

Jetzt haben wir Ansible, aber wie fangen wir an, es zu nutzen? Ganz einfach, mit einem Inventar. In einer Datei namens `hosts` (kreativ, nicht wahr?) listen wir all unsere Server auf. Und das sieht dann so aus:

```

[webserver]

192.168.1.1

192.168.1.2

```

In diesem Beispiel haben wir zwei Server in der Gruppe "webserver". Klingt einfach, oder? Ist es auch!

Die wahre Magie von Ansible - und das, was uns IT-Superhelden so begeistert - sind jedoch die Playbooks. Ein Playbook ist eine YAML-Datei, in der wir definieren, was auf unseren Servern passieren soll. Ein einfaches Playbook hätte zum Beispiel folgendes Aussehen:

```yaml

---

- hosts: webserver

tasks:

- name: Installiere Apache

apt:

name: apache2

state: present

```

Hier sagen wir Ansible, dass es auf allen Webservern Apache installieren soll. Das Schöne daran ist, dass Ansible idempotent ist. Das heißt, wenn Apache bereits installiert ist, wird nichts getan. Kein doppeltes Installieren, kein Durcheinander, einfach nur sauberes, effizientes Config Management.

Aber wir wollen noch einen Schritt weiter gehen und Rollen einführen. Stell dir eine Rolle als eine Art "Super-Playbook" vor, das aus mehreren kleineren Playbooks besteht und wiederverwendet werden kann. So etwas sieht dann so aus:

```yaml

---

- hosts: webserver

become: yes

roles:

- apache2

```

Hier haben wir eine Rolle namens "apache2" definiert, die auf allen Webservers ausgeführt wird. Der Vorteil von Rollen liegt in der Wiederverwendbarkeit und der Möglichkeit, komplexe Abläufe in kleinere, handhabbare Einheiten zu zerlegen.

Zugegeben, das ist nur die Spitze des Eisbergs, aber wir hoffen, dass wir dir einen guten ersten Einstieg in die Welt des Config Managements mit Ansible geben konnten. Jetzt bist du dran, deine eigenen Playbooks und Rollen zu schreiben und deine Server tanzen zu lassen. Und denk immer daran: Mit großer Macht kommt große Verantwortung!

Ansible: Mach dich zum Puppetmaster deiner Serverlandschaft!
Carsten Depping 29. Oktober 2024
Diesen Beitrag teilen