Wat is Ansible Tower?
Wil je echter de volledige kracht van Ansible benutten, dan is er Red Hat Ansible Tower, een overzichtelijke, grafische webinterface voor centrale aansturing van al je Ansible acties, gebaseerd op het Open Source project AWX. Ansible Tower haalt al je playbooks en roles uit Git, zodat altijd te zien is welke versie van je Ansible code wordt uitgevoerd.
Tower is te koppelen aan je Active Directory, IDM of LDAP directory, zodat je makkelijk gebruikers toegang kunt geven. Ook biedt het Role Base Access Control (RBAC), zodat alleen de juiste gebruikers bij de juiste projecten en acties kunnen. En met de uitgebreide logging weet je dus altijd wie, welke versie van een playbook, op welk moment, op welke servers heeft uitgevoerd. Daarmee kun je al deze geautomatiseerde stappen uit je wijzigingsproces verantwoorden, of je nou een bank, verzekeraar, overheidsinstantie, telco of een ander soort bedrijf bent. Niet langer zwerven er dus allerlei versies van een playbook rond op laptops van verschillende mensen, die vervolgens als root overal acties uitvoeren die bijna niet meer te herleiden zijn.
Aan de slag met Ansible Tower
Met de eerder genoemde features van Tower kun je je organisatie een brede set aan mogelijkheden bieden. Systeembeheerders kunnen met een druk op de knop een set servers patchen, Netwerkbeheerders kunnen snel een wijziging maken in de rulesets van hun firewalls, Applicatiebeheerders kunnen met druk op een andere knop een nieuwe versie van een applicatie deployen en Applicatieontwikkelaars kunnen op eenzelfde simpele wijze een nieuwe testserver inrichten om de allernieuwste versie van diezelfde applicatie nog even volledig door te lichten. Met behulp van webhooks kun je dit soort processen zelfs automatisch vanuit Git acties laten verlopen. En doordat in Ansible Tower alle credentials beveiligd opgeslagen kunnen worden, hoef je niet zelf belangrijke (root-)wachtwoorden of SSH-keys uit je Vault te halen om je acties uit te kunnen voeren.
Ansible Tower is schaalbaar en kan de job runs verdelen over verschillende task / worker nodes. Dit kunnen extra VM’s zijn, maar deze resources kunnen ook gehaald worden uit een OpenShift Container Platform. Voor je DMZ of extra beveiligde netwerken kun je een Tower Isolated Node inrichten, die de taken kan uitvoeren op machines die niet direct vanaf je Ansible Tower cluster bereikbaar zijn. Het enige wat er nodig is, is SSH toegang van het Tower Cluster naar de Isolated Node en toegang vanaf de Isolated Node binnen dat betreffende netwerk. Verder is Ansible Tower gebouwd rondom een centrale REST API, die je zelf ook aan kunt spreken. Op deze manier kun je alle jobs, job templates en gehele workflows programmatisch aansturen, vanuit je eigen scripts, of met behulp van de krachtige tower-cli tool. Eventuele extra variabelen, authenticatie informatie en andere opties kun je meegeven als JSON data.