DevOps-Enabler Ansible, Teil 3

Installation von Ansible Tower

Seite: 2/2

Firmen zum Thema

Software-Voraussetzungen

Die Software-seitigen Voraussetzungen von Ansible Tower sind ebenfalls überschaubar. Allerdings sollte man sich vor Augen halten, dass Ansible-Tower selbst anhand eines Ansible-Playbooks bereitgestellt wird. Das erfolgreiche Installieren von Tower setzt also das Vorhandensein einer stabilen Ansible-Version voraus.

Bis einschließlich Tower 2.3 sowie bei einer Installation unter Ubuntu musste man sich im Übrigen explizit darum kümmern. Seit Tower 3.0 besteht optional die Möglichkeit, dass die Ansible-Installation Teil des Installationsprozesses ist. Hierfür muss der Nutzer das „Setup-Bundle“ herunterladen, das sich automatisch um die vorherige Ansible-Installation sowie die Auflösung der Abhängigkeiten kümmert.

Möchte der Admin Ansible aber doch manuell installieren, muss er wie in Teil 2 beschrieben unter CentOS das Epl-Repository hinzufügen. Zudem wird die Paketquelle „extras“ bzw. „rhel-7-server-extras-rpms“ unter RHEL benötigt. Für das manuelle Installieren von Tower unter AWS-EC2 ist das Paket „rh-amazon-rhui-client“ erforderlich, um das optionale Repository „rhui-REGION-rhel-server-extras“ aktivieren zu können.

Achtung auch bei RHEL und SELinux: Tower unterstützt nur die SELinux-Policy „targeted“, die wahlweise auf „disabled“, „permissive“ oder „enforcing“ gesetzt werden muss. Sind die Voraussetzungen geklärt, gelingt die Ansible-Installation unter RHEL und CentOS mit:

yum install ansible

Unter Ubuntu muss der Admin für das Installieren von Ansible zunächst das Ansible-ppa aktivieren:

sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible

Danach kann Ansible mit …

sudo apt-get update

… und …

sudo apt-get install ansible

… installiert werden.

Betriebsmodi

Ansible Tower lässt sich in verschiedenen „Single Maschine“- Betriebsmodi oder im „Multi Machine Cluster (HA)“ betreiben.

  • In der Single-Machine-Betriebsart unterscheidet Red Hat zwischen dem „eingebetteten“ Modus mit Web Frontend, REST API Backend, und Datenbank auf der gleichen Maschine (Default) …
  • ... und einem Modus mit Remote-Datenbank-Anbindung. Hierbei konfiguriert der Admin Tower so, dass eine Kommunikation mit der gewünschten Remote-Instanz von PostgreSQL 9.4.X möglich ist. Diese kann auf einem externen Server (physisch oder VM) laufen. Optional unterstützt Tower auch Amazon RDS.
  • Tower lässt sich aber auch mit einer Playbook-basierten Installation eines Remote-PostgreSQL-Systems betreiben.
  • Tower im Cluster-Betrieb erfordert in jedem Fall eine externe Datenbank. Auch hier wird wieder zwischen Remote-Datenbank-Anbindung (Server, VM oder RDS) …
  • … und einer Playbook-basierten Installation des externen Datenbanksystems unterschieden.

Tower Setup

Da Tower wie beschrieben über ein Ansible-Playbooks installiert wird, besteht der nächste Schritt darin, das Installations-Werkzeug für Tower herunterzuladen und zu entpacken, welches das Setup-Skript „setup.sh“ enthält. Vor dessen Start sollte man das in Teil 2 erklärte Inventory-File im entpackten Playbook-Verzeichnis seinen Wünschen anpassen. Die zu verwaltenden Hosts – also auch der, auf dem Tower installiert wird – stehen im Bereich [alls:vars].

Im einfachsten Fall (Tower auf dem lokalen Ansible-Host) trägt man hier 127.0.0.1 ein. Bei einer Embedded-Installation gilt dies auch für „pg_host“. Ferner sind die Standard-Namen für Datenbank, Datenbank-User und die zugehörigen Passwörter den eigenen Bedürfnissen anzupassen. Beispielsweise ist „admin_password='' das Passwort des lokalen Tower-Admins. Das Passwort für die Postgres-Datenbank „pg_password“ steht normalerweise in „/etc/tower/conf.d/postgres.py“. Das Passwort für „rabbitmq_password='' kann man nach Belieben setzen.

Einfacher hingegen gelingt das Bundle-Setup, welches das Einspielen von Ansible einschließlich aller Abhängigkeiten gleich miterledigt. Hierzu lädt sich der Admin das Ansible Setup Bundle herunter, welches nur für Red Hat Enterprise Linux oder CentOS verfügbar ist, nicht aber für Ubuntu.

Im nächsten Teil befassen wir uns mit der grundlegenden Konfiguration und Bedienung von Tower.

(ID:45369681)

Über den Autor

Dipl. -Ing. Thomas Drilling

Dipl. -Ing. Thomas Drilling

IT-Consultant, Trainer, Freier Journalist