Jump to section

Die Grundlagen von Ansible

URL kopieren

Red Hat Summit: Connect 2023 ist ab Oktober in Ihrer Nähe

Red Hat ist mit Red Hat Summit: Connect auf Tour. Diesen Herbst bringen wir interaktive Labs, Demos und Networking-Möglichkeiten in eine Stadt in Ihrer Nähe. Melden Sie sich jetzt für Wien, Zürich oder Darmstadt an!

Ansible® ist eine auf Open Source basierende IT-Automatisierungs-Engine, mit der Provisionierung, Konfigurationsmanagement, Anwendungsbereitstellung, 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.

Worin unterscheiden sich Ansible und Red Hat Ansible Automation Platform?

Ansible Basics: Automation Technical Overview

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

Red Hat Enterprise Linux Automation with Ansible 

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

Module
Ansible verbindet Ihre Knoten und überträgt kleine Programme, sogenannte Module, auf diese 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.Ansible kann auf Red Hat® Enterprise Linux®, CentOS oder Fedora, Ubuntu, Debian und vielen anderen Betriebssystemen installiert werden.

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 den Sprachen geschrieben werden, die JSON zurückgeben kann, beispielsweise Ruby, Python oder Bash. Module für die Automatisierung von Windows werden sogar in Powershell geschrieben.

Agentenlose Automatisierung
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 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 „ssh-agent“ und stellt Verbindungen zu Remote-Rechnern mit Ihrem aktuellen Nutzernamen her. Root-Anmeldungen sind nicht erforderlich. Sie können sich als beliebiger Nutzender anmelden und dann mit den Befehlen „su“ oder „sudo“ zu anderen Nutzenden wechseln.

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. Ansible verwendet von Menschen lesbare YAML-Vorlagen, sodass Nutzerinnen und Nutzer sich wiederholende Aufgaben automatisch programmieren können, ohne eine komplexe Programmiersprache erlernen zu müssen.

Sie können mit Ansible auch 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 werden zur Orchestrierung von IT-Prozessen verwendet. Bei einem Playbook handelt es sich um eine YAML-Datei (mit der Erweiterung .yml oder .yaml), 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. 

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 Lightspeed with IBM Watson Code Assistant ermöglicht eine einfachere und effizientere Erstellung von Ansible Playbooks. Sie können Anfragen in einfachem Englisch eingeben, und Ansible Lightspeed interagiert mit IBM watsonx Foundation Models, um Code-Empfehlungen zu generieren, die dann zur Erstellung von Ansible Playbooks verwendet werden.

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

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.

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.

Konfigurationsmanagement bezeichnet einen Prozess, bei dem Computersysteme, Server und Software in einem gewünschten, konsistenten Zustand gehalten werden. Damit können Unternehmen sicherstellen, dass ihre Systeme auch bei ständigen Veränderungen wie erwartet funktionieren. Früher erfolgte dies manuell oder mit speziellen, von Systemadministrationsteams programmierten Skripten.

Wenn Sie Red Hat® Ansible® Automation Platform als Konfigurationsmanagementtool nutzen, können Sie damit den aktuellen Zustand Ihrer Systeme speichern und aufrechterhalten. 

Mit Konfigurationsmanagementtools lassen sich Änderungen und Deployments beschleunigen und menschliche Fehler reduzieren. Dadurch 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. 

Ein automatisiertes Konfigurationsmanagement mit Ansible unterstützt Sie bei der Wiederherstellung Ihres Systems 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. 

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

Es ist schwierig, Änderungen nachzuverfolgen, Versionen zu kontrollieren sowie Fehler und Inkonsistenzen zu vermeiden, wenn die Provisionierung für die einzelnen Deployments manuell verwaltet wird. Die automatisierte Provisionierung einer Infrastruktur kann dies wesentlich erleichtern. Sie sollte der erste Schritt zur Automatisierung des operativen Lifecycles Ihrer Anwendungen sein. 

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. 

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

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 Red Hat Ansible Automation Platform orchestrieren.

Die Anwendungsbereitstellung kann Frontend- und Backend-Services, Datenbanken, Monitoring, Netzwerke und Storage umfassen, die jeweils eine spezifische Aufgabe übernehmen und eigene Konfigurationen und Deployments haben. Die Orchestrierung stellt sicher, dass die einzelnen Schritte so erfolgen, 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. 

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.

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

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

Red Hat arbeitet gemeinsam mit der erweiterten Open Source Community an Automatisierungstechnologien. Unsere Engineers arbeiten an der Verbesserung von Funktionen, Zuverlässigkeit und Sicherheit, um für die Leistungsfähigkeit Ihres Unternehmens und Ihrer IT sowie deren Stabilität und Sicherheit zu sorgen. 

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

Mit einer Red Hat Subskription erhalten Sie zertifizierte Inhalte von unserem robusten Partnernetzwerk, Zugriff auf gehostete Managementservices und technischen Lifecycle-Support, mit dem Ihre Teams Automatisierung im gesamten Unternehmen erstellen, verwalten und skalieren können. Außerdem profitieren Sie von unserem Fachwissen, das wir bei unserer erfolgreichen Zusammenarbeit mit Tausenden von Kunden entwickelt haben.

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 können Sie neue Anwendungen und Services schneller bereitstellen, Ihre IT-Infrastruktur effizienter verwalten und die Produktivität der Anwendungsentwicklung erhöhen.

Weiterlesen

Artikel

Die Grundlagen von Ansible

Ansible automatisiert IT-Prozesse wie Provisionierung und Konfigurationsmanagement. Erlernen Sie die Grundlagen von Ansible mit dieser Einführung in die wichtigsten Konzepte.

Artikel

Was ist Business Process Management?

Unter Business Process Management (BPM) versteht man die Modellierung, Analyse und Optimierung von End-to-End-Geschäftsprozessen, um strategische Unternehmensziele zu erfüllen.

Artikel

Warum Red Hat für die Automatisierung?

Die Red Hat Ansible Automation Platform umfasst alle Tools, die Sie zur Implementierung einer unternehmensweiten Automatisierung und zum teamübergreifenden Teilen von Automatisierungsprozessen benötigen.

Mehr über Automatisierung

Produkte

Interaktionen mit unseren strategischen Beratern, die sich ein Gesamtbild von Ihrem Unternehmen machen, Ihre Herausforderungen analysieren und Ihnen helfen, diese mit umfassenden, kosteneffektiven Lösungen zu meistern.

Eine Plattform für die Implementierung unternehmensweiter Automatisierungsprozesse – unabhängig davon, in welcher Phase der Automatisierung Sie sich befinden.

Ressourcen

Training

Kostenloser Trainingskurs

Ansible Essentials: Simplicity in Automation Technical Overview

Kostenloser Trainingskurs

Red Hat Ansible Automation for SAP