Server und Applikationen mit Ansible bereitstellen
Mit Ansible haben wir die Flexibilität unsere Open Source Systeme überall zu installieren. Egal ob es ein kommerzieller Cloud-Anbieter, das Rechenzentrum von Dritten oder der Server des Unternehmens ist.

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:


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

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.



Mint System GmbH, Janik von Rotz 20 Juli, 2022
Diesen Beitrag teilen
Stichwörter
Archiv
Eine Sache des guten Geschmacks
Odoo funktioniert auch in der Fischzucht.