„Ansible ist eine Open-Source-Plattform zur Orchestrierung und allgemeinen Konfiguration und Administration von Computern. Sie kombiniert Softwareverteilung, Ad-hoc-Kommando-Ausführung und Konfigurationsmanagement.“
http://de.wikipedia.org/wiki/Ansible)
Die Verwaltung von Linux-Servern wird mit zunehmender Anzahl schwieriger und unübersichtlich. Ansible erlaubt es, in recht einfacher Syntax, Eigenschaften und Parameter von (vorwiegend) Linux-Systemen in Form von Modulen und Rollen zu definieren, und zentral aus einem Repository auszurollen.
Vorteile
- Ansible braucht keinen Agent auf dem Ziel-System, es genügt ssh-Zugriff per public-key-authentication.
- Einfache Syntax und Logik: geringe Einstiegshürden
- Skalierbarkeit: ob 3 oder 3000 Server, ansible ist sinnvoll anzuwenden
- Ad-hoc-Commands erlauben das Administrieren von vielen Servern mit nur einem Kommando
Ein Beispiel für die Anwendung von ansible ist das automatisierte Installieren eines Betriebssystems, inklusive diverser Standard-Dienste und gewünschter Settings.
-> dieses git-repo demonstriert die Installation eines Gentoo-Linux: https://github.com/stefangweichinger/ansible-gentoo
–
Ansible ist als open-source-Software frei verfügbar.
DebOps
YOUR DEBIAN-BASED DATA CENTER IN A BOX
Vortrag zu DebOps beim Wiener Linux-Tag 2018: Linuxtage Wien 2018
Video zum DebOps-Talk 2017 in Graz, auf YouTube:
DebOps ist eine Sammlung von sogenannten Roles für Ansible:
Ein mächtiges Framework von Ansible-Rollen, um Debian-basierte Systeme konsistent zu konfigurieren.
Sinnvolle Defaults, Augenmerk auf Sicherheit und praktische Anwendbarkeit.
DebOps ist noch recht jung und in aktiver Entwicklung, wird aber bereits erfolgreich in produktiven Umgebungen eingesetzt.
Mit nur wenigen Zeilen Konfiguration ist es möglich, Debian-Server schnell und einheitlich auszurollen.
Zentrale Verwaltung von zB:
- ssh-Keys
- User/Gruppen
- Samba
- Firewall-Regeln
- cronjobs
- Konfiguration des Netzwerks (ifupdown)
- Debian-Updates (unattended upgrades)
- mysql/mariadb-Datenbanken + deren Backups
- nginx Configs
- LetsEncrypt-Certs
- OpenLDAP-Server .. auch mit Multimaster-Replikation (hier folgt ein gesonderter Artikel …)
- … und vieles mehr: aktuell mehr als 150 Roles in DebOps!
Die von Ansible bekannten Gruppen- und Host-Variablen erlauben
- einheitliche Config von zb locale, timezone, default gateways, ssh-pubkeys, SMTP-Host … wo erwünscht/erforderlich
- punktgenaue Anpassung auf einzelnen Systemen oder Hostgroups von zB nginx-vhosts, Samba-Shares, usw
Und das alles in einem Projektverzeichnis von wenigen Megabyte Größe, elegant zu verwalten zB per git-Repo.