DevOps-Enabler Ansible, Teil 3 Installation von Ansible Tower
Manch ein IT-Spezialist arbeitet lieber mit Kommandozeilen, doch auch grafische Oberflächen können Vorteile bieten. Bei Ansible wird dies mit Red Hat Ansible Tower realisiert, im dritten Teil unseres Workshops befassen wir uns mit der Installation des Enterprise-Frontends.
Anbieter zum Thema

Die Open-Source-Version von Ansible Tower hört auf den Namen AWX und wurde von Red Hat im Oktober 2017 freigegeben. Kurze Zeit später erblickte dann mit Ansible Tower 3.2 das – nach Ansible Tower 3.0 und 3.1 – dritte große Upgrade der ausschließlich unter der Regie von Red Hat verantworteten kommerziellen AWX-Version das Licht der Welt. Die Vorgängerversionen 1.4.x bis 2.4 des von Anfang an kommerziell vermarkteten Ansible-Frontends (ursprünglich unter der Bezeichnung „AWX Project“) waren noch von Ansible Inc. verantwortet.
Aktuell ist die Version 3.2.3 von Ansible Tower. Ansible Tower ist ein Frontend für Ansible, welches die Community-Version unter anderem mit einer graphischen Benutzeroberfläche ausstattet. Der Zugriff aus anderen Tools und Services wird über eine integrierte REST API ermöglicht. Ansible Tower ist in den Editionen Self-Support, Standard und Premium zu Preisen von 5.000 US-Dollar, 10.000 Dollar und 14.000 Dollar im Jahr und für bis zu 100 Nodes verfügbar.
Installationsvoraussetzungen
Ursprünglich ließ sich Ansible Tower nur unter der 64-Bit-Version von Red Hat Enterprise Linux 7.2 oder jünger sowie CentOS ab 7.2 installieren. Inzwischen unterstützt Red Hat aber auch Ubuntu 14.04 LTS, Ubuntu 16.04 LTS in der jeweiligen 64-Bit-Version. In allen Fällen ist das Vorhandensein von Ansible Core Pflicht.
Im Falle von Ansible Tower ist Red Hat zunächst einmal der Anbieter der Software. Da als Ziel-Betriebssystem neben RHEL auch Ubuntu und künftig womöglich andere Cloud-Betriebssysteme fungieren, ist Tower (anders als andere Red-Hat-Produkte) nicht nur im Red-Hat-Portal sondern auch über die Ansible-Tower-Produktseite verfügbar.
Zur Installation empfiehlt Red Hat, dass Tower als einzige Applikation exklusiv auf einer VM, Cloud-Instanz oder physikalischen Maschine zu installieren. Begründet wird dies damit, dass es sich bei Tower um eine komplex Software mit vielen Abhängigkeiten handelt, etwa zu PostgresQL, Apache, Django und vielem mehr.
Genau wie Ansible ist Tower in Python geschrieben, allerdings verwenden beide keine Standard-Python-Libraries. Deshalb lässt sich Tower nicht ohne Weiteres in einem Python-virtualenv, einem Docker-Container oder vergleichbaren Subsystemen betreiben. Beim Datenbank-Backend haben die AWX-Entwickler mit Fertigstellung der Version 3.0 von MongoDB zu PostgresQL (9.6) gewechselt, weil die benötigten Datentypen bei PGSQL ein Drittel weniger Platz beanspruchen, als eine JSON-formatierte Textdatei im Dokumenten-orientierten MongoDB.
Benötigte Hardware
Die Hardware-Voraussetzungen für Ansible Tower sind relativ überschaubar, mit Ausnahme der Arbeitsspeicher-Ausstattung. Diese hängt im Einzelfall von der Anzahl Hosts ab, die von Tower gleichzeitig verwaltet werden. Gesteuert wird das simultane Verwalten durch den Parameter „forks“ in der Konfigurationsdatei ansible.cfg. Ansible empfiehlt für je 100 forks 4 Gigabyte (GB) RAM zusätzlich zu den empfohlenen 4 GB (2 GB sind Mindestvoraussetzung) einzuplanen, um Ressourcen-Konflikte von Vorneherein zu vermeiden.
Beim Festplattenplatz genügen 20 GB, wobei zehn davon exklusiv für das /var-Verzeichnis verfügbar sein müssen, in dem Tower seine Dateien und Arbeits-Verzeichnisse ablegt. Mit einem Partitionsschema nach dem LVM-Verfahren (Logical Volume Manager) ist der Admin auf der sicheren Seite und kann /var bei Bedarf leicht vergrößern.
Optional kann Tower auch auf einer Cloud-Instanz in AWS installiert werden. Ansible empfiehlt dazu den Instanz-Typ „m3.medium“ oder größer, falls mehr als 100 Hosts verwaltet werden sollen. Besonders schnell und einfach gelingt das bei Verwendung des exklusiv für das Testen von Ansible Tower bereitgestellte AMI (Amazon Machine Image).
Klickt man in der Ansible-Tower-Dokumentation beim Anfordern einer Trial-Version beispielsweise direkt auf den Link für das entsprechende Tower-AMI in AWS, so landet man – ein vorhandenen AWS-Konto vorausgesetzt – direkt im EC2-Dashboard. Ansible Tower ist dann – vorhandene VPCs, Security-Groups und Public Subnets ebenfalls vorausgesetzt – in weniger als zehn Minuten einsatzbereit. Der Zugriff auf die GUI ist dann über den Public-DNS-Namen der Instanz möglich.
Darüber hinaus beschreibt auch AWS selbst die manuelle Installation von Tower auf EC2 in seiner Dokumentation. Zusätzlich gibt es AWS-Market-Place-AMIs für Tower. Ebenso einfach gelingt ein Launch von Ansible Tower in Vagrant. Übrigens lässt sich auch Ansible (ohne Tower) auf AWS betreiben. Doch zurück zur manuellen Installation.
(ID:45369681)