KontaktRufen Sie uns an +49 89 993411-0

Red Hat Ansible

Ansible ist ein Open-Source-Automatisierungs-Tool: Es kombiniert Softwareverteilung, Remote-Kommandos und Konfigurationsmanagement. Ansible kann damit gleichzeitig auf tausenden Rechnern, virtuellen Maschinen oder Containern Programme installieren, Shell-Kommandos aufrufen und Konfigurationsdateien anpassen. Dabei müssen auf den Ziel-Rechnern keine speziellen Agenten installiert sein: Ein SSH-Zugang mit Admin-Rechten (direkt als root oder per sudo) sowie ein Python-Interpreter genügen, den Rest bringt Ansible über die SSH-Verbindung kurzerhand selbst mit.

Einfach und flexibel

Bei Admins beliebt wurde Ansible vor allem durch seine Einfachheit: Die Konfiguration steckt typischerweise in YAML-Dateien, Rechner (Knoten genannt) lassen sich zu beliebigen Gruppen verbinden (im Inventory) und auf diese Gruppen wiederum gewünschte Einstellungen anwenden. Eine Änderung wird dann im einfachsten Fall direkt von der Konsole aus gestartet, via SSH – so wie Admins es auch manuell tun würden.

Zum Konfigurationsmanagement ist das Wissen nötig, wie eine bestimmte Konfiguration vorzunehmen ist, also zum Beispiel welche Parameter in welcher Konfigurationsdatei mit welcher Syntax stehen müssen und wie man einem Server-Prozess mitteilt, dass er die neue Konfiguration verwenden soll. Hier bringt Ansible bereits eine Menge an so genannten Playbooks mit, die dieses Wissen enthalten.

Auch im Kontext von Continuous Integration und Continuous Delivery (CI/CD) hat sich Ansible bewährt: Es bringt alle Techniken mit, um Änderungen ohne Ausfallzeiten in einem komplexen System auszurollen. Dabei bleibt es in der Bedienung einfach und intuitiv.

Ansible Tower

Mit dem Ansible Tower lässt sich das Werkzeug per Web-Oberfläche bedienen. Der Tower enthält zudem eine REST-API, um Ansible auf moderne Weise in andere Verwaltungswerkzeuge integrieren zu können. Für die einfache Integration in Jenkins stehen auch Kommandozeilentools zur Verfügung. Dazu kommt eine rollenbasierte Zugriffskontrolle, die auch regelt wie die sicher gespeicherten Anmeldeinformationen für SSH und andere Dienste verwendet werden. Mit dem Tower lässt sich das Ansible-Inventory mit einer Vielzahl von Cloud-Quellen synchronisieren, auch sind Multi-Playbook-Workflows für komplexe Prozesse modellierbar. Das Tool protokolliert zudem alle Jobs und lässt sich gut an LDAP, SAML und andere Authentifizierungsquellen anbinden.

Funktionen und Vorteile

  • Minimalistisch: Ansible stellt nur minimale Anforderungen an die Umgebung. Ausreichend sind der bei Admins sowieso übliche SSH-Zugang sowie der verbreitete Python-Interpreter.
  • Sicher: SSH ist eine sehr ausgereifte und sichere Zugriffsmethode. Da keinerlei weitere Dienste installiert werden, öffnet Ansible selbst keine neuen Angriffsziele.
  • Zuverlässig: Mit gut programmierten Playbooks sind die Konfigurationsänderungen ohne Nebenwirkungen und auch bei mehrfacher Anwendung wirksam (idempotent).
  • Leicht erlernbar: Playbooks verwenden das bei Admins beliebte YAML (Yet Another Markup Language) und Jinja-Templates.
  • Gut integrierbar: Ansible Tower ergänzt eine REST-API sowie ein umfangreiches Web-Frontend.

Herausforderungen

Wie gut Ansible in der Praxis funktioniert, steht und fällt mit der Qualität der Playbooks. Unsere Consultants haben das nötige Wissen und die Erfahrung – auch aus anderen Werkzeugen des Konfigurationsmanagements – um hier zuverlässige und sichere Implementierungen zu liefern. Auch das einfache und schnelle Absetzen von Remote-Kommandos kann zu Problemen führen, wenn unerfahrene Admins die Kommandos ungeschickt formulieren und Nebeneffekte übersehen.

Wir helfen auch bei der Integration von Ansible in Jenkins oder LDAP/Active Directory.

Mehr erfahren