Ansible ist eine quelloffene Konfigurationsmanagement-Lösung und eine Plattform für die IT-Automatisierung. Es unterstützt die Automatisierung von Softwarebereitstellungen, Konfigurationsmanagement und Anwendungsbereitstellung.
Im Gegensatz zu anderen Konfigurationsmanagement-Tools wie Chef, CFEngine, Salt und Puppet verfolgt Ansible einen anderen Ansatz. Dies macht es zu einer einzigartigen Lösung in diesem Bereich.
Ansible Tower bietet eine webbasierte Benutzeroberfläche für die Verwaltung von Ansible. Benutzer von Ansible wünschten sich eine intuitive, benutzerfreundliche Oberfläche, die schnelle Bereitstellungen und eine einfache Überwachung der Konfiguration ermöglicht.
Ansible Tower ist die Antwort auf dieses Bedürfnis. Jede Sprache und jedes Framework haben ihre eigenen spezifischen Merkmale. Dieser Beitrag beleuchtet die Unterschiede zwischen Ansible, Ansible Galaxy und Ansible Tower.
Einführung in Ansible
Ansible ist ein Open-Source-Tool für das Konfigurationsmanagement, das die Softwarebereitstellung und das Konfigurationsmanagement automatisiert. Es ermöglicht die Steuerung und Konfiguration mehrerer Maschinen von einem zentralen Server aus.
Es nutzt ein Push-basiertes System, bei dem die Konfiguration vom Master-Computer an alle verbundenen Knoten „übertragen“ wird.
Konfigurationen werden in YAML geschrieben, einer leicht verständlichen Sprache, die auch für Serveradministratoren einfach zu verwenden ist. Ansible arbeitet über SSH und nutzt OpenSSH als Transportschicht.
Alle Ansible-Konfigurationen sind in YAML-Dateien organisiert, die als Playbooks bezeichnet werden. Ein Playbook enthält Aufgaben oder Spiele. Eine Aufgabe verwendet ein Modul, um die Knoten zu konfigurieren.
Playbooks dienen als zentraler Ort für die Konfigurationen. Alle in einem Playbook definierten Aufgaben werden in der angegebenen Reihenfolge ausgeführt. Ansible unterstützt sowohl die synchrone als auch die asynchrone Ausführung von Aufgaben.
Die Abbildung zeigt verschiedene Host-Computer, die alle von uns erstellten Konfigurationen ausführen.
Vorteile von Ansible:
- Kostenlos und quelloffen
- Einfache Einrichtung
- Leistungsstark, kann Tausende von Maschinen gleichzeitig konfigurieren
- Flexibel einsetzbar in verschiedenen Umgebungen
- Agentenlos, benötigt keine Agenten auf den Knoten
- Effizient, benötigt keine zusätzliche Software für den Betrieb
Nachteile von Ansible:
- Kann schwer zu installieren sein
- Läuft nicht unter Windows
- Probleme mit der Abwärtskompatibilität
Einführung in Ansible Galaxy
Ansible Galaxy ermöglicht das Teilen und Abrufen von Rollen. Es empfiehlt die Verwendung wiederverwendbarer Rollen bei der Serverkonfiguration. Ansible Galaxy wird häufig in Projekten eingesetzt.
Ansible Galaxy ist im Grunde ein öffentliches Repository von Ansible-Rollenbeschreibungen. Jede Rolle enthält eine README-Datei mit Informationen zur Verwendung und zu den Variablen der Rolle.
Ansible Galaxy bietet eine Vielzahl von Rollen, die ständig weiterentwickelt werden. Rollen ermöglichen es, größere Playbooks aufzuteilen und eine strukturierte Struktur zu erstellen. Benutzer können eigene Rollen anpassen und verwenden.
Ansible Galaxy Rollenstruktur:
- README.md: Beschreibt die Rolle mit allen Details zu den Eingabeparametern und einem Beispiel-yml.
- tasks: Beinhaltet alle Aufgaben der Rolle. Der Einstiegspunkt ist main.yml, die andere Dateien enthalten kann.
- handlers: Enthält Handler, die in dieser oder anderen Rollen verwendet werden können.
- defaults: Die Standardvariablen für die Rolle.
- vars: Variablen, die wichtiger sind als die Standardwerte der Rolle.
- files: Dateien, die über die Rolle bereitgestellt werden können.
- templates: Vorlagen, die über die Rolle verwendet werden können.
- meta: Metadaten zur Definition der Rollen und ihrer Abhängigkeiten.
- tests: CI-Tests, die ausgeführt werden sollen.
- library: Module oder Plugins, die in Rollen eingebettet werden können. Hier können auch benutzerdefinierte Module in Python erstellt werden.
Ansible Galaxy ist ein Werkzeug zum Erstellen und Verwalten von Rollen. Im Laufe der Zeit werden neue Versionen und Änderungen eingeführt. Ab Ansible 2.2.8 gibt es die Sammlungsfunktion, mit der Ansible-Inhalte in Sammlungen verteilt werden können. Diese dienen zum Verpacken und Verteilen von Modulen, Playbooks und Plugins.
Vorteile von Ansible Galaxy:
- Zentralisiert das Teilen, Wiederverwenden und Lokalisieren von Ansible-Inhalten
- Einfaches Herunterladen von wiederverwendbaren Rollen für die Anwendungsinstallation
- Beschleunigt die Bereitstellung
Nachteile von Ansible Galaxy:
- Community-basiert, keine Garantie für die Qualität der Module
- Oftmals schlechte Dokumentation der Rollen
- Viele Rollen sind nicht idempotent
Einführung in Ansible Tower
Ansible Tower ist die Benutzeroberfläche für Ansible. Es ist eine webbasierte Lösung, die von verschiedenen IT-Teams genutzt werden kann.
Ansible Tower kann mit dem Armaturenbrett eines Autos verglichen werden, das Informationen über den Zustand des Autos liefert. Ansible Tower ist ein solches Dashboard, während Ansible der Motor ist.
Ansible Tower ermöglicht die Remote-Ausführung von Aufgaben über eine grafische Oberfläche. Ansible-Jobs können durch Playbooks ausgeführt werden. Während Playbooks mit der Ansible CLI ausführbar sind, bietet Ansible Tower die Möglichkeit, sie über die GUI zu verwalten und auszuführen.
Benutzer können entweder vorhandene Playbooks ausführen oder eigene erstellen. Ansible Tower bietet auch integrierte Benachrichtigungen, um Teams über abgeschlossene oder fehlgeschlagene Jobs zu informieren. Diese Art der Kommunikation ist für jede Organisation wichtig.
Darüber hinaus bietet es rollenbasierte Zugriffskontrolle (RBAC) zur Steuerung der Jobausführung. Dadurch wird sichergestellt, dass nur bestimmte Benutzer Jobs in Ansible Tower ausführen dürfen. Dies dient der Einhaltung von Sicherheitsvorschriften.
Neben RBAC bietet es ein Audit-Protokoll, das aufzeichnet, wer für welchen Job verantwortlich war. Das erhöht die Sicherheit, die bei der alleinigen Verwendung von Ansible schwer zu finden ist.
Ansible Tower ermöglicht die Remote-Codeausführung in verschiedenen Anwendungen. Beispielsweise kann das Neustarten einer VM, die sich in einem falschen Zustand befindet, einfach und sicher durchgeführt werden. Ebenso kann die Remote-Installation von Software zur schnellen Behebung von Sicherheitslücken oder zum Zurücksetzen von Passwörtern verwendet werden. Ansible Tower ist somit eine zentrale Anlaufstelle für die gesamte Netzwerkinfrastruktur und über Ansible bereitgestellten VMs.
Im Gegensatz zu Ansible ist Ansible Tower nicht kostenlos. Es gibt eine Standard- und eine Premium-Version. Die Wahl hängt von den IT-Anforderungen des Unternehmens ab. Die Standard-Edition ist für die meisten IT-Operationen geeignet, während die Premium-Edition für geschäftskritische DevOps-Umgebungen entwickelt wurde.
Genaue Preisinformationen sind bei Red Hat erhältlich. Die Standard-Edition kostet etwa 10.000 US-Dollar pro Jahr für 100 Knoten, während die Premium-Version etwa 14.000 US-Dollar pro Jahr für die gleiche Anzahl von Knoten kostet.
Vorteile von Ansible Tower:
- Einfaches Layout
- Unterstützt den Aufbau einer CI/CD-Pipeline für das Workflow-Management
- Ermöglicht die Jobplanung und Benachrichtigungen bei Fehlern
- Grafische Bestandsverwaltung
- Einfache Einrichtung
Nachteile von Ansible Tower:
- Teuer
- Abonnementbasiert
- Unklare Konfliktlösungsmechanismen
- Komplexes Debugging
Ansible vs. Ansible Galaxy vs. Ansible Tower
Ansible ist ein Tool zur IT-Automatisierung. Es ermöglicht die Bereitstellung von Software und die Konfiguration von Systemen. Darüber hinaus kann es komplexere Aufgaben wie Continuous Deployments oder Rollup-Updates ohne Ausfallzeiten orchestrieren. Ansible ist auf Einfachheit und Benutzerfreundlichkeit ausgelegt.
Ansible Tower wird als „Der leistungsstärkste Git-Client für Mac und Windows“ bezeichnet. Es ermöglicht die Nutzung der leistungsstarken Funktionen von Git über eine intuitive GUI. Ansible Galaxy wird zum Speichern von Ansible-Rollen verwendet und ist vergleichbar mit PyPI für Python oder Maven für Java.
Ansible Tower ist ohne Ansible nicht nutzbar, es wird mit Ansible Tower verwendet. Ansible ist die Engine, die Infrastrukturverwaltung und -bereitstellung antreibt.
Ansible Tower ermöglicht einen Einblick in die Prozesse und ermöglicht die Kontrolle und Überprüfung der Sicherheitskonformität der Unternehmensinfrastruktur.
Ansible Tower bietet RBAC für Ansible-Bereitstellungen und eignet sich auch, wenn Fachkräfte ohne Programmierkenntnisse die Infrastruktur überprüfen müssen.
Vergleich von Ansible vs. Ansible Tower vs. Ansible Galaxy:
Ansible | Ansible Tower | Ansible Galaxy |
Open-Source-Konfigurationsmanagement-Tool | Benutzeroberfläche von Ansible | Repository von Rollen und Sammlungen |
Führt Playbooks über die CLI aus | Führt Playbooks über die GUI aus | Verwendet Ansible-Galaxy mit CLI |
Bietet Einblick in die gesamte Ansible-Umgebung | Wiederverwendung von Codeblöcken in verschiedenen Playbooks |
Fazit
Dies ist eine Übersicht über Ansible, Ansible Tower und Ansible Galaxy und die Unterschiede zwischen den drei Systemen. Unternehmen sollten ihre Bedürfnisse in Bezug auf Ansible Tower prüfen, da es kostspielig sein kann. Dennoch ist Ansible ein hervorragendes CM-Tool für jede Linux-ähnliche Umgebung.
Möglicherweise interessieren Sie sich auch für Sysadmin-Aufgaben, die Sie mit Ansible automatisieren können.