Server und Applikationen mit Ansible bereitstellen

20. Juli 2022 / Janik von Rotz

Was ist Ansible?

Ansible ist ein Open Source Automatisierungs-Werkzeug für die allgemeine Konfiguration und Administration von Computern. Mit Ansible beschreibt man die Arbeitsschritte, die es braucht um ein Betriebssystem oder eine Anwendung zu installieren und konfigurieren. Diese Arbeitsschritte enthalten Platzhalter und können so mit Variablen flexibel ausgeführt werden.

Die Arbeitsschritte fasst man in einem Playbook zusammen und die Variablen in einem Inventory.

Was ist ein Inventory?

Wie es der Name andeutet handelt es sich um ein Inventar. Im Inventory beschreibt man welche Server es gibt und welche Konfiguration diese erhalten. Man kann die Server zu Gruppen zusammenfassen und so die Anzahl der Variablen zur Konfiguration reduzieren.

Was ist ein Playbook?

Arbeitsschritte werden werden in Rollen zusammengefasst. Eine Rolle beinhaltet im Normalfall die Installation und Konfiguration einer Anwendung. Mehrere Rollen lassen sich in einem Playbook zusammenfassen.

Wie sieht das konkret aus?

Ein Ansible-Projekt besteht nur aus Ordnern und Textdateien. Dazu ein Beispiel für die Bereitstellung einer Nextcloud-Instanz. Auf https://ansible.build publizieren wir alle Ansible Rollen. In der Liste der Rollen findet man nextcloud: https://ansible.build/roles/nextcloud/. Dahinter verbirgt sich diese Ordner-Struktur:

next cloud task file

Innerhalb der { }-Klammern befinden sich die Variablen. welche aus dem Inventory übertragen werden. Die Odner-Struktur der Inventories sieht etwas anders aus:

next cloud inventory

Für was kann ich Ansible verwenden?

Die Möglichkeiten wie Ansible zum Einsatz kommt sind unbegrenzt. Wir verwenden Ansible für:

  • Verwaltung von Domain und DNS-Einträgen
  • Installation und Konfiguration von Linux-Servern
  • Bereitstellung eines Monitoring-System
  • Bereitstellung eines Login-Anbieters
  • Automatische Backups
  • Installation und Konfiguration von Odoo
  • Firewall mit Nginx-Proxy
  • VPN für Server-Umgebung

Der grosse Vorteil: Wenn der Server oder das System gelöscht wird, kann es in kurzer Zeit vollständig wiederhergestellt werden. Die Konfiguration des Systems und die Arbeitsabläufe sind mit Ansible beschrieben und können somit auf Knopfdruck ausgeführt werden.

Wie steht Ansible im Vergleich zu anderen Automatisierungs-Werkzeugen?

Es gibt viele weitere Automatisierungs-Werkzeuge wie Chef, Puppet oder Salt. Im Vergleich zu anderen Lösungen arbeitet Ansible nach dem Push-Prinzip. Wenn man im Inventory oder in den Rollen eine Änderung gemacht hat, muss man Ansible ausführen, damit die Änderungen angewendet werden. Bei anderen Systemen arbeitet man nach dem Pull-Prinzip. Auf den jeweiligen Servern ist ein Agent installiert, der regelmässig die neuesten Änderungen abfragt und diese anwendet.

Ich brauche noch mehr Informationen.

Gerne bieten wir Workshops zu Ansible an. Wir haben es bereits bei verschiedenen Kunden implementiert und gute Erfahrungen gemacht. Melden Sie sich bei uns und wir machen ein unverbindliches Angebot.

Diesen Beitrag teilen

50,000+ Unternehmen benutzen Odoo um Ihre Geschäfte auszubauen.

Kontaktieren Sie uns und machen Sie Ihr eigenes Unternehmen zu einem Besonderen.

Kontaktieren Sie uns