In komplexen IT Umgebungen kommt man um die Automatisierung von Aufgaben nicht mehr herum. Das spart nicht nur Zeit und Kosten, sondern reduziert vor allem die menschliche Fehlerquote bei der Ausführung selbst kleiner Aufgaben. Automatisierung von Aufgaben erhöht somit die Sicherheit und erlaubt IT Abteilungen mehr Flexiblität im Job.

Wer Ansible zum Konfigurationsmanagement einsetzt braucht keine zusätzliche Clientsoftware installieren. Denn die Verbindung wird mit Secure Shell SSH (sicher und einfach) aufgebaut. Ansible wird also nur auf einem Server installiert und auf den Clients wird für die Verwaltung lediglich SSH-Zugriff benötigt.

Ansible Playbooks

In Ansible werden die zu erledigenden Konfigurationen in sogenannten Playbooks abgespeichert. Ansible Playbooks stellen eine Möglichkeit dar Befehle an den Client auf eine skriptgesteuerte Weise zu senden.

So muss man die Befehle nicht einzeln in einer Shell ausführen, sondern kann komplexe Umgebungen aus der Ferne konfigurieren. Einfach indem man in einer YAML Datei die benötigten Befehle fest legt.

Ein Play beinhaltet konkrete Aufgaben die zu erledigen sind (z.B. Benutzer anlegen, Dienst starten etc.). Ein Playbook besteht aus mehreren zusammen gefassten Plays.

Ansible Playbook Roles

In einem Ansible Playbook schreibt man im Prinzip also alles rein, wie man das System gerne haben möchte. Wobei man häufig wiederkehrende Elemente in Playbook Rollen auslagert. Die Gruppierung von Inhalten nach Rollen ermöglicht übrigens eine einfache gemeinsame Nutzung (das Teilen von Rollen) mit anderen Usern.

Wo wir auch schon beim Thema sind. Wir übernehmen nicht nur die Konfiguration mit Ansible, sondern stellen unseren Kunden auch fertige Ansible Playbooks bereit. Auf folgende drei Playbooks möchten wir Dich hinweisen:

Ansible Playbook: Backup

Zum täglichen, wöchentlichen oder monatlichen Duchführen von Backups für Dateien, MySQL-Datenbanken und PostgreSQL-Datenbanken. Backup-Rotation z.B. Grandfather-father-son möglich. OS: Debian und Ubuntu.

Ansible Playbook: Drupal (für Drupal 7 und Drupal 8)

Hilft bei der Rollout-Ausführung (nur der Code-Rollout mit optionalen Drush-Befehlen als pre und/oder post_commands). Und ein Git Pull zur Aktualisierung der Codebasis. Es läuft Drupal cron mit drush und Drupal schedule-cron mit drush. OS: Debian und Ubuntu.

Ansible Playbook: SSH

SSH-Server mit SSH-Schlüsselverwaltung (privater Schlüssel, autorisierter Schlüssel) und known_hosts Unterstützung. OS: Debian und Ubuntu.

In einer komplexen IT-Umgebung können selbst kleinste Aufgaben ewig dauern. Sprawling-Systeme (also eine Vielzahl an Servern) sind schwer zu entwickeln, zu implementieren und zu warten. Geschäftsanforderungen erhöhen zudem die Komplexität und IT-Teams haben immer mehr mit der Verwaltung, Verfügbarkeit und steigenden Kosten zu kämpfen. Die hier genannten Ansible-Playbooks stehen auf Ansible Galaxy zum Download bereit. Sie helfen dabei Deine Systemkonfigurationsaufgaben besser zu organisieren und zu automatisieren. Weitere Infos gibt es auch auf unserer Themenseite: Ansible.

Playbook Scripting

Wir arbeiten übrigends mit einem entsprechenden Editor der hilft, den korrekten Abstand in der Yaml-Syntax zu beachten und Fehler zu vermeiden. Wer beispielsweise wie wir Atom als Editor einsetzt und diesen mit Plugins (z.B. ansible-lint, linter-ansible-linting) erweitert tut sich leichter Syntax-Fehler zu vermeiden bzw. schnell aufzudecken.

Aktualisiert: