Einstieg in die Orchestrierung mit Ansible

Sobald Ansible über die Paketverwaltung in Linux installiert wurde, zum Beispiel mit 

yum install ansible

apt-get install ansible

erfolgt die Konfiguration über die beiden Dateien „ansible.cfg“ und „hosts“, die sich beide standardmäßig im Verzeichnis „etc\ansible“ befinden. 

Wenn Ansible einsatzbereit ist, und die Server zur Verwaltung mit SSH-Schlüsseln angebunden sind, lassen sich Automatisierungen mit „Playbooks“ durchführen.  Die Vorgehensweise dazu wird in der Dokumentation beschrieben.

In der Shell werden dazu vor allem die beiden Befehle „ansible“ und
„ansible-playbook“ verwendet. Wer mit Ansible arbeitet, nutzt die auf YAML-basierten Skripte, die als „Playbooks“ bezeichnet werden. Die Skripte können mit Tools, wie zum Beispiel Notepad++ erstellt und verwaltet werden. 

Liegt ein Skript, also ein Playbook vor, kann dieses auf dem Computer, auf dem Ansible installiert ist, für Hosts ausgeführt werden, die wiederum durch Ansible verwaltet werden. Das sind die Hosts, die im Ansible-Verzeichins in der Datei „Hosts“ aufgelistet sind. Playbooks werden mit „ansible-playbook“ gestartet. 

Automatisierung und Orchestrierung im Rechenzentrum mit Ansible

Bei Ansible handelt es sich um eine der bekanntesten Lösungen für die Automatisierung von Rechenzentren.  Ansible steht in der Community Edition kostenlos zur Verfügung Darüber hinaus bietet Red Hat aber auch kostenpflichtige Editionen mit grafischer Oberfläche und Support an.

Die großen Mitbewerber von Ansible, sind Puppet und Chef, die ebenfalls zur Automatisierung und Orechstrierung von Rechenzentren eingesetzt werden.  Ansible bietet aber im Vergleich zu anderen Produkten einige Vorteile. 

Eine der größten Vorteile, sind die vorgefertigen „Playbooks“, welche durch die Community kostenlos zur Verfügung gestellt werden, zum Beispiel bei GitHub. Bei Playbooks handelt es sich, einfach ausgedrückt, um vorgefertigte Skripte, mit denen Server automatisiert bereitgestellt und konfiguriert werden können. Es muss also nicht für jedes Produkt eine eigene Vorgehensweise geschrieben werden, um den entsprechenden Server zu orchestrieren. Mit fertigen Playbooks ist die Automatisierung wesentlich einfacher.

Der zweite Vorteil besteht darin, dass generell kein eigener Server genutzt werden muss, um Ansible zu nutzen. Der Rechner, auf dem die Playbooks zur Verfügung stehen, muss lediglich eine Verbindung zu den Servern erhalten, die automatisiert verwaltet und konfiguriert werden müssen.

Der dritte Vorteil gegenüber Chef und Puppet ist die einfachere Verwaltung und Verwendung von Ansible.  

Ansible installieren

Ansible wird auf einem Linux-Rechner installiert. Die Installation ist in den meisten Fällen über die Linux-Paketinstallation möglich.  Auf Red Hat und CentOS erfolgt die Installation zum Beispiel mit

 yum install ansible

Unter Debian und Ubuntu kann mit dem folgenden Befehl Ansible installiert werden:

apt-get install ansible

Nach der Installation von Ansible erfolgt die erste Konfiguration. Hier spielt das Verzeichnis „/etc/ansible “ eine wichtige Rolle. In diesem ist die Konfigurationsdatei „ansible.cfg“ gespeichert. Auch die Datei „hosts“ ist wichtig. Hier werden die Server eingetragen, die von Ansible verwaltet werden.

Zur Verwaltung wird in Ansible meistens eine kennwortlose Anmeldung genutzt. In diesem Fall wird auf dem Ansible-Server ein SSH-Schlüssel erstellt, und danach auf die Server kopiert, die durch Ansible verwaltet werden. Das ist natürlich sehr vereinfacht beschrieben. Über die Dokumentation von Ansible werden alle Vorgänge ausführlich beschrieben.