Anmelden / Registrieren Konto

Automatisierung

Die Grundlagen von Ansible

Jump to section

Ansible ist eine Open Source Engine, mit der Provisionierung, Konfigurationsmanagement, Anwendungs-Deployment, Orchestrierung und viele weitere IT-Prozesse automatisiert werden können.

Mit der Ansible-Automatisierung können Sie Software installieren, tägliche Aufgaben automatisieren, Infrastruktur bereitstellen, Sicherheit und Compliance verbessern, Systeme patchen und Automatisierungen in Ihrem gesamten Unternehmen teilen.

 

Wie funktioniert Ansible?

Ansible verbindet Ihre Knoten und überträgt kleine Programme, sogenannte Module, auf die Knoten. Module werden dazu verwendet, Automatisierungsaufgaben in Ansible durchzuführen.

Diese Programme werden als Ressourcenmodelle für den gewünschten Zustand des Systems geschrieben. Ansible führt die Module aus und entfernt sie, sobald die Ausführung abgeschlossen ist.

Ohne Module wären Sie für die Ausführung von Aufgaben auf Ad-hoc-Befehle und -Skripte angewiesen. 

Zum Guide über die Installation von Ansible

Ansible ist agentenlos und kann daher Knoten managen, ohne dass darauf eine Software installiert werden muss.

Aus Ihrem Inventory liest Ansible Informationen darüber, welche Maschinen Sie managen wollen. Ansible verfügt über eine Standard-Inventory-Datei. Sie können aber auch eine eigene erstellen und definieren, welche Server von Ansible gemanagt werden sollen. 

Ansible verwendet das SSH-Protokoll, um Verbindungen zu Servern herzustellen und Aufgaben auszuführen. Dabei verwendet Ansible standardmäßig 

SSH-Schlüssel mit einem SSH-Agenten und stellt Verbindungen zu Remote-Rechnern mit Ihrem aktuellen Nutzernamen her. Root-Anmeldungen sind nicht erforderlich. Sie können sich als beliebiger Nutzer anmelden und dann mit den Befehlen „su“ oder „sudo“ zu jedem anderen Nutzer wechseln.

Wie SSH eine sichere Kommunikation herstellt

Sobald eine Verbindung hergestellt wurde, überträgt Ansible die Module, die für Ihren Befehl oder Ihr Playbook erforderlich sind, zur Ausführung auf die Remote-Rechner.

Da Ansible von Menschen lesbare YAML-Vorlagen verwendet, können Nutzer sich wiederholende Aufgaben so programmieren, dass sie automatisch ausgeführt werden – ohne dass sie eine schwierige Programmiersprache lernen müssen.

Ansible beinhaltet integrierte Module, mit denen Sie Aufgaben automatisieren können. Alternativ können Sie aber auch ihre eigenen Module schreiben. Ansible-Module können in jeder Sprache geschrieben werden, die JSON zurückgeben kann, beispielsweise Ruby, Python oder Bash. Module für die Automatisierung von Windows werden sogar in Powershell geschrieben. 

 

Ansible für Ad-hoc-Befehle

Sie können mit Ansible Ad-hoc-Befehle ausführen. Dazu müssen Sie direkt in der Befehlszeile einen Befehl ausführen oder ein Modul aufrufen. Playbooks werden dabei nicht verwendet. 

Das ist für eine einmalige Aufgabe ausreichend. Bei komplexeren Vorgängen ist die Verwendung von Ansible Playbooks erforderlich.

Ansible Playbooks

Ansible Playbooks werden zur Orchestrierung von IT-Prozessen verwendet. Bei einem Playbook handelt es sich um eine YAML-Datei, die ein oder mehrere Plays enthält und dazu verwendet wird, den gewünschten Zustand eines Systems zu definieren. Ein Ansible-Modul hingegen ist ein Standalone-Skript, das in einem Ansible Playbook verwendet werden kann. 

YAML für Ansible

Plays bestehen aus einer bestimmten Abfolge von Aufgaben, die für die ausgewählten Hosts aus Ihrer Ansible-Inventory-Datei ausgeführt werden. 

Aufgaben sind dabei die Bestandteile, die sich zu einem Play zusammensetzen und Ansible-Module aufrufen. Diese Aufgaben werden in einem Play in der Reihenfolge ausgeführt, in der sie geschrieben sind.  

Ansible kann während der Ausführung den Zustand des Systems überwachen. Wenn Ansible beim Scannen eines Systems feststellt, dass die Playbook-Beschreibung eines Systems nicht mit dem tatsächlichen Zustand des Systems übereinstimmt, nimmt Ansible alle notwendigen Änderungen vor, damit das System dem Playbook entspricht. 

Ansible beinhaltet einen „Prüfmodus“, mit dem Sie Playbooks und Ad-hoc-Befehle validieren können, bevor Sie Zustandsänderungen an Systemen vornehmen. Dadurch sehen Sie, was Ansible tun würde, ohne dass tatsächlich Änderungen vorgenommen werden. 

In Ansible werden Handler verwendet, damit bestimmte Aufgaben erst nach einer Systemänderung ausgeführt werden. Sie werden durch Aufgaben ausgelöst und nur einmal ausgeführt, und zwar nach allen anderen Plays im Playbook. 

Über Variablen können Sie in Ansible ändern, wie Playbooks ausgeführt werden. Mithilfe von Variablen werden die Unterschiede zwischen Systemen berücksichtigt, etwa Paketversionen und Dateipfade. Mit Ansible können Sie Playbooks in verschiedenen Systemen ausführen. 

Ansible-Variablen sollten im Hinblick darauf definiert werden, was Ihr Playbook konkret macht. 

Variablen unterliegen einer bestimmten Rangfolge, anhand der die Reihenfolge festlegt wird, in der die Variablen sich gegenseitig überschreiben. Es ist wichtig, dass Sie mit diesen Vorgängen vertraut sind, bevor Sie Variablen in Ihrem Playbook nutzen.

Wenn Sie mit Ansible arbeiten, sollten Sie auch wissen, was Collections sind. Bei einer Collection handelt es sich um ein Verteilungsformat für Ansible-Inhalte, wie Playbooks, Rollen, Module und Plugins.

Ansible-Rollen sind eine bestimmte Art von Playbook. Sie sind eigenständig und lassen sich mit den Aufgaben, Variablen, Konfigurationsvorlagen und anderen zugehörigen Dateien portieren, die für die Durchführung einer komplexen Orchestrierung notwendig sind. 

In einer Collection können mehrere Rollen nebeneinander bestehen, was das Teilen von Inhalten über Automation Hub und Ansible Galaxy vereinfacht. 

 

Konfigurationsmanagement mit Ansible

Konfigurationsmanagement bezeichnet den Prozess, Computersysteme, Server und Software in einem gewünschten, konsistenten Zustand zu halten. Damit können Unternehmen sicherstellen, dass ihre Systeme auch bei ständigen Veränderungen wie erwartet funktionieren. 

Früher musste dies manuell oder mit speziellen, vom Systemadministrator programmierten Skripten gehandhabt werden. 

Fünf Möglichkeiten, ein neues System mit Ansible zu härten

Die Red Hat® Ansible® Automation Platform kann als Konfigurationsmanagement-Tool dazu eingesetzt werden, den aktuellen Zustand Ihrer Systeme zu speichern und aufrechtzuerhalten. 

Mit Konfigurationsmanagement-Tools lassen sich Änderungen und Deployments beschleunigen und menschliche Fehler reduzieren. Dadurch wiederum wird das Systemmanagement vorhersehbar und skalierbar.

Außerdem können Sie damit den Zustand Ihrer Ressourcen überwachen und die wiederholte Ausführung von Aufgaben vermeiden, wie etwa das mehrmalige Installieren von Paketen. 

Das automatisierte Konfigurationsmanagement mit Ansible ermöglicht eine verbesserte Systemwiederherstellung nach kritischen Events. Wenn ein Server aus unbekannten Gründen ausfällt, können Sie umgehend einen neuen bereitstellen. Zusätzlich stehen Ihnen Informationen zu durchgeführten Änderungen oder Updates zur Verfügung, mit denen Sie die Fehlerursache umgehend identifizieren können. 

 

Provisionierung mit Ansible

Heutzutage ist die Infrastruktur häufig softwaredefiniert. Virtualisierung und Container haben den Provisionierungsprozess beschleunigt und gleichzeitig die Notwendigkeit für häufige Hardware-Provisionierung und -Verwaltung beseitigt.

Es ist schwierig, Änderungen nachzuverfolgen, Versionen zu kontrollieren sowie Fehler und Inkonsistenzen zu vermeiden, wenn die Provisionierung für jedes Deployment manuell verwaltet wird.

Die automatisierte Provisionierung einer Infrastruktur ist der erste Schritt zur Automatisierung des gesamten operativen Lifecycles Ihrer Anwendungen. 

Ansible lässt sich zur Provisionierung der zugrunde liegende Infrastruktur von Umgebungen, virtualisierten Hosts und Hypervisoren, Netzwerkgeräten und Bare Metal-Servern verwenden. Sie können damit auch Services installieren, Compute-Hosts hinzufügen sowie Ressourcen, Services und Anwendungen in Ihrer Cloud bereitstellen.

Mit einem Ansible Playbook können Sie den gewünschten Zustand Ihrer Infrastruktur beschreiben und anschließend von Ansible provisionieren lassen. Durch die Codierung Ihrer Infrastruktur mithilfe eines Playbooks stellen Sie sicher, dass Sie jedes Mal die gleiche Umgebung provisionieren. 

 

Automatisierung von Deployments

Die Automatisierung von Deployments bietet die Möglichkeit, Ihre Software mithilfe automatisierter Prozesse zwischen Test- und Produktivumgebungen zu verschieben. Dies wiederum ermöglicht wiederholbare und zuverlässige Deployments für den gesamten Software-Bereitstellungszyklus.

Die Automatisierung von Deployments ist ein wichtiger Grundstein für DevOps-Praktiken und die Verwaltung einer CI/CD-Pipeline.

Ein Deployment lässt sich nur dann automatisieren, wenn die Methoden der Entwicklungs- und Operations-Teams für das Deployment von Anwendungen oder das Konfigurieren von Umgebungen identisch sind. 

Damit die Umgebung automatisiert werden kann, muss sie konsistent sein. Dabei sollte für jede Umgebung, auch für Ihre Produktivumgebung, derselbe Deployment-Prozess verwendet werden. 

Eine Deployment-Pipeline beseht normalerweise aus drei Hauptschritten (möglicherweise auch mehr): Entwicklung, Test, Deployment. Mit dieser Pipeline soll Ihre Fähigkeit unterstützt werden, den Deployment-Prozess zu automatisieren. Außerdem wird sichergestellt, dass Code schnell von der Programmierung zum Deployment übergeht.

Mit Ansible können Sie mehrschichtige Anwendungen zuverlässig und konsistent in einem gemeinsamen Framework bereitstellen. Dabei haben Sie die Möglichkeit, die erforderlichen Services zu konfigurieren und Anwendungsartefakte mit Playbooks zu übertragen.

 

Orchestrierung mit Ansible

Automatisierung bezieht sich üblicherweise auf die automatische Ausführung einzelner Aufgaben. Bei der Orchestrierung geht es hingegen um die Automatisierung von Prozessen oder Workflows, die in mehreren Schritten und in verschiedenen separaten Systemen erfolgen. 

Mit einer Cloud-Orchestrierung lassen sich Server bereitstellen, Storage-Kapazität zuweisen, virtuelle Maschinen erstellen, Netzwerke verwalten u.v.m. Zu diesem Zweck stehen Ihnen viele verschiedene Tools zur Verfügung. Eine Möglichkeit ist Ansible.

Sowohl die Konfiguration und Verwaltung von Servern als auch die Deployments von Anwendungen lassen sich mit Tools wie der Red Hat Ansible Automation Platform orchestrieren. 

Wie Sie Orchestrierung in einfachen Worten erklären

Das Deployment von Anwendungen umfasst Frontend- und Backend-Services, Datenbanken, Überwachung, Netzwerke und Storage. Jede dieser Komponenten hat eine spezielle Aufgabe, eine eigene Konfiguration und ein eigenes Deployment. Die Orchestrierung stellt sicher, dass jeder Schritt so erfolgt, wie Sie es brauchen.

Ansible ermöglicht die Orchestrierung, indem Aufgaben in Ihrem Playbook in der Abfolge ausgeführt werden, in der sie geschrieben sind. So können Sie sicher sein, dass die Deployment-Prozesse für Ihre Anwendungen in der richtigen Reihenfolge durchgeführt werden. 

 

Netzwerkautomatisierung

Die Netzwerkautomatisierung nutzt programmierbare Logik zur Verwaltung von Netzwerkressourcen und -services. Damit können NetOps-Teams (Network Operations) Netzwerkinfrastruktur- und Anwendungsservices schneller konfigurieren, skalieren, schützen und integrieren, als das manuell möglich wäre.

Während sich zugrunde liegende Technologien stetig weiterentwickelt haben, hat sich das Netzwerkmanagement über Jahrzehnte hinweg kaum verändert. So werden Netzwerke üblicherweise manuell angelegt, ausgeführt und gewartet. 

Traditionelle manuelle Verfahren der Netzwerkkonfiguration und -aktualisierung sind allerdings zu langsam und zu fehleranfällig, um die sich schnell verändernden Workload-Anforderungen erfüllen zu können. 

Durch ein automatisiertes Management der Netzwerkressourcen und -services können NetOps-Teams agiler und flexibler werden und moderne Geschäftsanforderungen effektiv unterstützen.

 

Sicherheitsautomatisierung

Bei der Sicherheitsautomatisierung werden Automatisierungstechnologien genutzt, die Aufgaben weitgehend ohne menschliche Unterstützung durchführen und Sicherheitsprozesse, Anwendungen und Infrastruktur integrieren.

Mithilfe der Automatisierung können Sie tägliche Betriebsabläufe optimieren und von Anfang an Sicherheit in Prozesse, Anwendungen und Infrastruktur integrieren. Vollständig automatisierte Sicherheitsprozesse können sogar die Gesamtkosten einer Sicherheitsverletzung um 95 % senken.

Indem Sie Ihre Sicherheitsprozesse automatisieren, können Sie Bedrohungen schneller und ohne manuelle Eingriffe erkennen, validieren und eskalieren. 

Bei Sicherheitsvorfällen können die Sicherheitsteams mithilfe von Ansible die Fehler in den betroffenen Systemen rasch in Ihrer gesamten Umgebung gleichzeitig beheben und insgesamt schneller auf Vorfälle reagieren.

Drei Möglichkeiten für den Einstieg in die IT-Sicherheitsautomatisierung

Mit Ansible können Sicherheitsteams eine Abfolge von Jobs konfigurieren, die Inventories, Playbooks und Berechtigungen teilen, und so die Prüfung oder Behebung von Problemen vollständig automatisieren.

Die Red Hat Ansible Automation Platform lässt sich mit Log Aggregation Services von Drittanbietern integrieren, was Sicherheitsteams dabei hilft, Trends zu erkennen, Infrastruktur-Events zu analysieren, Abweichungen zu überwachen und separate Events zu korrelieren.

 

Trainingskurse für Ansible

Red Hat Enterprise Linux Automation with Ansible 

In diesem Kurs lernen Sie, wie Sie Linux®-Systemadministrationsaufgaben mit der Ansible Automation Platform automatisieren. Dabei lernen Sie die erforderlichen Techniken kennen, um mit der Ansible Automation Platform die Provisionierung, Konfiguration, Anwendungsbereitstellung und Orchestrierung zu automatisieren.

 

Ansible Essentials: Simplicity in Automation Technical Overview

Diese Reihe von On-Demand-Videos bietet Ihnen eine Einführung in die Automatisierung und Konfigurationsverwaltung mit Ansible, bei der Recheninfrastrukturen in virtuellen, physischen und Cloud-Umgebungen mit Ansible provisioniert, bereitgestellt und verwaltet werden.

 

Ansible 101: An introduction to automating everything

Dieser Webcast erklärt, welche Vorteile die Aufgabenautomatisierung mit Ansible für verschiedene Red Hat Enterprise Linux, Windows-, Cloud- und Netzwerkgeräte hat. Sie erfahren, wie Sie administrative Aufgaben automatisieren und mit den erweiterten Funktionen der Red Hat Ansible Automation Platform komplexere Aufgaben ausführen können. 

 

Case Study: Wie Microsoft eine Kultur der IT-Automatisierung entwickelte

Microsoft konzentriert sich darauf, eine Kultur des Erfolgs und der Zusammenarbeit zwischen Teams zu entwickeln, die sich auf Automatisierungstechnologien stützt.

In enger Zusammenarbeit mit Red Hat Consulting hat Microsoft mit der Red Hat Ansible Automation Platform eine standardisierte, zentralisierte Netzwerkautomatisierungsumgebung erstellt, die sich wiederholende, komplexe Aufgaben und Routinen deutlich reduziert. Gleichzeitig besteht die Möglichkeit, Produktionscode zu überprüfen und wiederzuverwenden. 

Durch den Aufbau einer DevOps-Kultur können sich Teams im gesamten Unternehmen auf den Austausch von Fachwissen, den Erwerb von Qualifikationen sowie die Erarbeitung innovativer Technologielösungen konzentrieren.

Lesen Sie die komplette Case Study, um mehr über die Erfolge von Microsoft zu erfahren.

 

Warum Red Hat für die Automatisierung?

Red Hat arbeitet gemeinsam mit der erweiterten Open Source Community an Automatisierungstechnologien. Unsere Techniker setzen alles daran, Funktionen zu verbessern, sie verlässlicher und sicherer zu machen, damit Ihr Business und Ihre IT funktionieren und dabei stabil und sicher bleiben. 

Die Red Hat Ansible Automation Platform umfasst alle Tools, die zur Implementierung einer unternehmensweiten Automatisierung benötigt werden, darunter Playbooks und Analysen. Nutzer können ihre IT-Infrastruktur u. a. mit einem visuellen Dashboard und rollenbasierter Zugriffskontrolle zentralisieren und kontrollieren und so die operative Komplexität reduzieren.

Red Hat Automation Platform umfasst außerdem Automation Analytics. Damit können die Operations-Teams Verwendungs-, Laufzeit- und Ausführungsmuster verschiedener Teams analysieren, die die Ansible Automation Platform verwenden.

Im Ansible Automation Hub können Sie vorgefertigte, von Red Hat unterstützte und von zertifizierten Partnern bereitgestellte Ansible-Inhalte kennenlernen, die Nutzern den Einstieg erleichtern.

Außerdem wurde das Produkt von Forrester Research im Bericht „The Forrester Wave™: Infrastructure Automation Platforms, Q3 2020“ als Leader eingestuft.

Unternehmen müssen nicht nur in der Lage sein, schnelle Automatisierungen zu erstellen, sondern auch die Fähigkeit besitzen, die Automatisierung projekt- und teamübergreifend mit der richtigen Governance und Kontrolle zu teilen und wiederzuverwenden. 

Mit der geeigneten Automatisierungslösung lassen sich neue Anwendungen und Services rascher bereitstellen, IT-Infrastrukturen effizienter verwalten und Anwendungen viel schneller entwickeln.

Ihre Plattform für die Automatisierung

Red Hat Ansible Automation Platform

Eine einfache agentenlose Plattform für eine IT-Automatisierung in großem Umfang. Zentralisieren und kontrollieren Sie Ihre IT-Infrastruktur mit einem visuellen Dashboard, rollenbasierter Zugriffskontrolle und mehr.

Ansible hat noch viel mehr zu bieten