Ansible Playbook
Ein Ansible Playbook ist eine organisierte Einheit von Skripten. Sie definiert Serverkonfigurationen, die vom Automatisierungswerkzeug Ansible verwaltet werden.
Ansible ist ein Konfigurationsmanagement-Tool, das die Verwaltung mehrerer Server über Ansible-Playbooks automatisiert. Playbooks sind die Kernkomponenten jeder Ansible-Konfiguration. Sie definieren jeweils die Aufgaben, die für eine Konfiguration auf einem verwalteten Server ausgeführt werden sollen. Ansible Playbooks sind in YAML geschrieben. Jedes Playbook wird von einem Administrator mit umgebungsspezifischen Parametern für seine eigenen konkreten Zielmaschinen erstellt; es gibt keine Standard-Plays.
Plays und Module
Plays sind flexibel durch Module, die sich auf verschiedene Aspekte der verwalteten Zielservers beziehen. Das Modulskript ist in Ruby geschrieben. Es gibt Module für viele Teile der Systemkonfiguration, einschließlich Software-Installation und Benutzerverwaltung. Ansible, eine Marke von Red Hat, stellt viele Module zur Verfügung. Hinzu kommen Beiträge der zugehörigen Open Source Community, die Ansible verwendet und unterstützt.
Das Playbook besteht also aus Plays, die aus Modulen zusammengesetzt sind. Es wird ausgeführt, wenn der Administrator den Befehl ansible-playbook gegen den Zielcomputer ausführt. Er muss eine Bestandsdatei verwenden, um die Hosts anzugeben, die ein bestimmtes Playbook verwaltet. Die Inventardatei enthält eine Liste aller Hosts, die von Ansible verwaltet werden, und sie bietet die Möglichkeit, Hosts nach ihrer Funktionalität zu gruppieren. So kann ein Administrator beispielsweise im Playbook ein Play auf eine Gruppe von Webservern anwenden und ein anderes Play auf eine Gruppe von Datenbankservern.
Ansible Tower
Ansible bietet ein Funktionspaket auf Unternehmensebene, Ansible Tower, das proprietär und nicht Open Source ist. Mit Ansible Tower kann ein Benutzer unter anderem einen Workflow aus mehreren Playbooks erstellen, Warnungen zum Status der Playbook-Ausführung in Collaboration Tools von Drittanbietern integrieren und Playbooks mit rollenbasierter Zugriffskontrolle (Role Based Access Control, RBAC) delegieren.