Definition „Ansible“

Was ist Ansible?

| Autor / Redakteur: chrissikraus / Stephan Augsten

Ansible automatisiert das Konfigurationsmanagement und die Software-Verteilung, eine grafische Schnittstelle existiert mit Ansible Tower.
Ansible automatisiert das Konfigurationsmanagement und die Software-Verteilung, eine grafische Schnittstelle existiert mit Ansible Tower. (Bild: Ansible.com)

Ansible ist ein Open-Source-Tool, mit dem sich die Konfiguration und Administration von Systemen automatisieren lässt. Das reicht von simplen bis hin zu hoch komplexen Tasks. Das Werkzeug beherrscht Modularisierung und erfordert minimale Systemvoraussetzungen

Konfigurationsmanagement ist ein Bereich, in dem es viele wiederkehrende Aufgaben gibt – perfekt für Automatisierung. Es existieren zahlreiche Lösungen, um das zu erreichen. Doch viele dieser Ansätze sind recht komplex oder erfordern eine umfangreiche Umgebung.

Eine Besonderheit von Ansible ist, dass die Open-Source Software mit minimalen Voraussetzungen arbeiten kann: Die verwaltenden Geräte benötigen lediglich OpenSSH und Python. Dennoch beherrscht das Tool alle wichtigen Techniken, um Konfiguration, Administration und Orchestrierung zu automatisieren.

Gleichzeitig ist es über die relativ simple Sprache YAML bedienbar, was die Einstiegshürde weiter senkt. Ansible wird weltweit von den verschiedensten Firmen und Einrichtungen verwendet, von Rechenzentren bis hin zu Universitäten.

Remote – aber sicher

Eine weitere Besonderheit von Ansible ist, dass bei der Arbeit aus der Ferne kein Agent auf dem Zielsystem installiert werden muss. Bei anderen Konfigurationsmanagern ist häufig eine Agentensoftware nötig, um die gewünschten Tätigkeiten auszuführen. Das kann zu Fehlern oder Sicherheitsproblemen führen. Ansible arbeitet ohne Umwege oder Hilfsmittel und kann diese Bedenken somit im Keim ersticken.

Die Bausteine der Automatisierung mit Ansible

Automatisiertes Konfigurationsmanagement mit Ansible funktioniert, indem der gewünschte Zustand des Hosts oder Systems in einem sogenannten Playbook beschrieben wird. Das können grundlegende Einstellungen sein, aber auch die komplette Einrichtung eines neuen Systems inklusive der Installation bestimmter Software.

Das Tool dient also zum Verwalten von Netzwerken bis hin zum automatisierten Aufsetzen neuer Clients. Bei Bedarf können natürlich auch einzelne Befehle per Kommandozeile abgesetzt werden. Ansible verwendet zum automatisierten Arbeiten drei grundlegende Ressourcen, die in den folgenden Abschnitten näher erklärt werden: Module, Inventar und Playbooks.

Module

Module sind in sich geschlossene Unterprogramme, in die allgemeine, häufig wiederkehrende Aufgaben ausgelagert werden. Sie können von der Konsole aus und in Playbooks verwendet werden. Sie beschleunigen das Erstellen von Playbooks und Anweisungen enorm, da Standardaufgaben nicht ständig neu programmiert werden müssen. Viele Module für alltägliche Aufgaben werden bereits mit Ansible ausgeliefert. Es ist jedoch auch möglich, eigene Module zu programmieren.

Inventar

Im Inventar wird beschrieben, auf welche Knoten per Ansible zugegriffen werden kann. Das Inventar enthält die IP-Adressen oder Namen der verfügbaren Hosts. Die Einträge im Inventar können bei Bedarf gruppiert werden, um die Verwaltung zu erleichtern. Sowohl einzelne Einträge als auch Gruppen können mit Variablen verknüpft werden, um zum Beispiel allen Hosts der Gruppe X einen spezifischen NTP-Server zuzuweisen. Zudem ist es möglich, das Inventar dynamisch aus anderen Quellen zu beziehen sowie mehrere Inventardateien parallel zu verwenden.

Playbooks

Das automatisierte Abarbeiten der Vorgaben erfolgt bei Ansible mittels Playbooks. Sie funktionieren ein wenig wie ein Benutzerhandbuch oder ein Regelwerk, in dem die Schritte der Automatisierung definiert werden. Es handelt sich um Sammlungen einzelner Arbeitsanweisungen (Plays), die für die Konfiguration eines bestimmten Szenarios notwendig sind. Es kann jedes beliebige Shell-Kommando verwendet werden, um gezielt die gewünschten Einstellungen und Installationen auf dem Zielsystem durchzuführen.

Neuere Versionen unterstützen zudem Powershell-Befehle für Windows. Hierfür kommt YAML zum Einsatz. Es handelt sich um eine beschreibende Sprache, mit der man im Fall von Ansible der Software die exakten Parameter der Automatisierung verrät. Die Sprache ist leicht verständlich, was die Arbeit mit Playbooks relativ simpel gestaltet. Für dynamische Szenarien kann mit Variablen gearbeitet werden. Mit einem gut geschriebenen Playbook lässt sich per Ansible sehr sauber und zuverlässig konfigurieren und verwalten.

Ansible vs. Ansible Tower

Die kostenlose Variante von Ansible leidet etwas darunter, dass Kommandozeile und grafische Benutzeroberfläche nicht immer auf dem gleichen Stand sind. Das bedeutet in der Praxis, dass mitunter unterschiedliche Ergebnisse erzielt werden.

Für den professionellen Einsatz bietet die Enterprise-Variante Ansible Tower von Red Hat eine etwas komfortablere Bedienung, da hier beide Eingabemethoden auf demselben Stand gepflegt werden. Zudem gibt es weitere Funktionen wie ein Dashboard, ein Rollensystem für Benutzer, visuell aufbereitetes Inventar-Management sowie einen technischen Support.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

DevQOps – eine Frage der Qualität

Code Quality Testing als DevOps-Stütze

DevQOps – eine Frage der Qualität

DevOps-Strategien etablieren sich immer weiter, haben ihr volle Leistungsfähigkeit jedoch noch nicht zwingend erreicht. Was auf dem Weg zum nächsten Evolutionsschritt fehlt, ist der maximale Qualitätsanspruch. Willkommen im Zeitalter der DevQOps. lesen

Integrationsplattform für Cloud-native Entwicklung

Red Hat Integration bringt Agilität in Hybrid-Architekturen

Integrationsplattform für Cloud-native Entwicklung

Red Hat Integration wird um neue Komponenten und Funktionen zur Verbindung von Anwendungen, Daten und Geräten in hybriden Architekturen erweitert. Cloud-basiertes Self-Service Messaging und Event Streaming gehören dazu ebenso wie die vollständige Abdeckung des API-Lebenszyklus. lesen

Data-Management-Automatisierung als Antwort?

Steigende Anforderungen an Test/Dev im Jahr 2019

Data-Management-Automatisierung als Antwort?

Automatisiertes Datenmanagement unterstützt die Umsetzung von DevOps. Test/Dev-Umgebungen werden damit generell dynamischer und fit für die Hybrid-Cloud-Ära gemacht, wie wir im Folgenden zeigen. lesen

Die beliebtesten DevOps-Anbieter

IT-Awards 2018

Die beliebtesten DevOps-Anbieter

Wenn Softwareentwicklung, IT-Betrieb und Qualitätssicherung unter einen Hut gebracht werden sollen, lautet das Zauberwort DevOps. Dieser Ansatz zur Prozessverbesserung sorgt durch gemeinsame Methoden, Abläufe und Tools für eine effiziente Zusammenarbeit dieser Bereiche. Im Ergebnis führt das zu schnellerer Anwendungsentwicklung, höherer Qualität und optimiertem Teamwork. lesen

Wo möchte man auf der DevOps-Reifeskala stehen?

Verschiedene DevOps-Umsetzungen

Wo möchte man auf der DevOps-Reifeskala stehen?

DevOps wird meist in einer der folgenden drei Formen umgesetzt: Als Lite-Version, Operations-orientiertes oder Development-orientiertes DevOps. Aber welches Modell passt zu meinem Unternehmen? lesen

AWX und Ansible Tower 3.2 einrichten und nutzen

DevOps-Enabler Ansible, Teil 4

AWX und Ansible Tower 3.2 einrichten und nutzen

Nach der Installation von Ansible Tower werfen wir einen optionalen Blick auf die Installation von AWX, um uns dann mit Konzept und Arbeitsweise der grafischen Oberfläche für Ansible vertraut zu machen. Ab hier unterscheiden sich AWX und Ansible Tower kaum. lesen

Was ist Docker?

Definition „Docker (Software)“

Was ist Docker?

Docker legt Programme samt ihrer Abhängigkeiten in Images ab. Diese bilden die Basis für virtualisierte Container, die auf nahezu jedem Betriebssystem lauffähig sind. So werden Anwendungen portabel und unkompliziert, sei es während der Entwicklung oder beim Skalieren von SaaS-Clustern. lesen

Installation von Ansible Tower

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. lesen

Was ist IaC?

Definition „Infrastructure as Code“

Was ist IaC?

Infrastructure as Code ist die Fortsetzung der Unix Philosophie mit DevOps-Mitteln. Das Administrationskonzept für IT-Infrastruktur macht die individuelle Installation und Konfiguration von Hard- und Software unabhängig von manueller Interaktion. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45353290 / Definitionen)