Jump to section

Die Grundlagen von Ansible

URL kopieren

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 Ansible können Sie Software installieren, tägliche Aufgaben automatisieren, Infrastruktur- und Netzwerkkomponenten bereitstellen, Sicherheit und Compliance verbessern, Systeme patchen und komplexe Workflows orchestrieren.

Red Hat® Ansible Automation Platform basiert auf denselben Grundlagen wie die Community-Version von Ansible, bietet jedoch Unterstützung für den gesamten Unternehmens-Lifecycle und umfasst Funktionen, die Unternehmen beim Standardisieren, Operationalisieren und Skalieren von Automatisierungsprozessen unterstützen. 

In diesem Artikel werden die Grundlagen für Community Ansible und Ansible Automation Platform erläutert.

Module

Ansible stellt Verbindungen zu Knoten (oder Hosts) her und überträgt kleine Programme, sogenannte Module, auf diese Knoten. Knoten sind die Zielendpunkte, wie Server, Netzwerkgeräte oder beliebige Computer, die Sie mit Ansible verwalten möchten. 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 beinhaltet integrierte Module, mit denen Sie Aufgaben automatisieren können. Alternativ können Sie aber auch selbst neue 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 können sogar in Powershell geschrieben werden. 

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 die Befehle „su“ oder „sudo“ als beliebiger Nutzender verwenden.

Sobald eine Verbindung hergestellt wurde, überträgt Ansible die Module, die für Ihren Befehl oder Ihr Ansible 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.

Ansible für Ad-hoc-Befehle 

Sie können Ansible auch zum Ausführen von Ad-hoc-Befehlen verwenden, die eine einzelne Aufgabe auf einem oder mehreren gemanagten Knoten automatisieren. Dazu müssen Sie direkt in der Befehlszeile einen Befehl ausführen oder ein Modul aufrufen. Dabei wird kein Playbook verwendet, und Ad-hoc-Befehle sind nicht wiederverwendbar. Das ist für eine einmalige Aufgabe ausreichend. Bei häufigeren und 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 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.

Mithilfe von Variablen können Sie die Ausführung von Playbooks ändern, um Systemunterschiede zu verwalten, beispielsweise bei Paketversionen oder Dateipfaden. Mit Ansible können Sie mit einem einzelnen Befehl Playbooks für verschiedene Systeme ausführen. Variablen berücksichtigen die Unterschiede zwischen diesen Systemen und können in Playbooks, im Inventory, in wiederverwendbaren Dateien oder Rollen oder in der Befehlszeile definiert werden. Variablen unterliegen einer bestimmten Rangfolge, anhand der die Reihenfolge festlegt wird, in der die Variablen sich gegenseitig überschreiben.

Ansible Roles sind eine bestimmte Art von Playbook. Diese Rollen sind eigenständig und lassen sich mit gruppierten Aufgaben, Variablen, Konfigurationsvorlagen und anderen zugehörigen Dateien portieren, die für die Durchführung einer komplexen Orchestrierung notwendig sind. Innerhalb einer Collection können mehrere Rollen existieren, die ein problemloses Teilen von Inhalten über Automation Hub und Ansible Galaxy ermöglichen.

Bei Collections handelt es sich um ein Distributionsformat für Ansible-Inhalte, das Playbooks, Rollen, Module, Plugins und Dokumentationen in einem Paket enthalten kann. Somit können Entwicklerinnen und Entwickler Automatisierungen besser gemeinsam nutzen und von anderen erstellte Inhalte verwenden. Diese Collections sind nach Domain sortiert, wodurch Sie ohne viel Vorarbeit in kurzer Zeit unterschiedliche Rollen und Module suchen und zusammenstellen können.

Ansible Content Collections funktionieren nach demselben Prinzip, sind jedoch speziell dafür konzipiert, den Nutzenden von Ansible Automation Platform eine schnellere Automatisierung mit vorgefertigten Inhalten von Red Hat und unseren zertifizierten Partnern zu ermöglichen. Diese Collections, die sowohl von Red Hat Ansible Certified Content and Ansible Validated Content umfassen, werden in Zusammenarbeit mit Partnern entwickelt und getestet, sodass Sicherheit, Zuverlässigkeit und Unternehmenstauglichkeit gewährleistet sind.

Erfahren Sie mehr über den Unterschied zwischen zertifizierten und validierten Inhalten für Ansible und wofür sie verwendet werden. Dauer des Videos: 1:55.

Ansible kann kostenlos verwendet, heruntergeladen und modifiziert werden –und das Projekt profitiert von der Erfahrung und Intelligenz seiner Tausenden von Mitwirkenden. Die Community-Distribution von Ansible enthält eine Suite leistungsstarker Befehlszeilentools, die auf den meisten Betriebssystemen unterstützt werden, auf denen Python installiert ist. Dazu gehören Red Hat Enterprise Linux®, Debian, Ubuntu, MacOS, FreeBSD, Microsoft Windows und andere. 

Ansible Automation Platform kombiniert mehr als ein Dutzend Upstream-Projekte zu einem einheitlichen, sicherheitsorientierten Unternehmensprodukt. Die Plattform baut auf den Grundlagen von Community Ansible auf, um ein End-to-End-Automatisierungserlebnis zu schaffen, das auf funktionsübergreifende Teams ausgerichtet ist und gleichzeitig ein Plug-and-Play-Erlebnis für Automatisierungsentwicklungs-, Engineering- und Operations-Teams bietet.

Möchten Sie mehr über die Unterschiede zwischen Ansible und Red Hat Ansible Automation Platform erfahren?

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.

Lernressourcen suchen

Hier finden Sie Lernmaterialien und Tools, die Sie bei der Verwendung von Ansible Automation Platform unterstützen, geordnet nach den Aufgaben, die Sie zu erledigen haben. Diese Ressourcen führen Sie durch Deployment-Optionen, die Installation, die optimale Nutzung von Funktionen sowie Use Cases für die Automatisierung neuer Aufgaben.

Praktische Erfahrungen mit interaktiven Labs sammeln

Diese interaktiven Szenarien bieten eine vorkonfigurierte Ansible Automation Platform-Umgebung, die direkt in Ihrem Browser ausgeführt wird. So können Sie in Ihrem eigenen Tempo lernen, wie man eine Vielzahl von Use Cases automatisieren kann.

Generative KI mit Ansible

Red Hat und IBM haben gemeinsam Red Hat Ansible Lightspeed mit IBM watsonx Code Assistant entwickelt – einen generativen KI-Service, mit dem Teams Automatisierungsinhalte effizienter kennenlernen, entwickeln und verwalten können. Sie können Anfragen in einfacher Sprache eingeben, und Ansible Lightspeed interagiert mit IBM watsonx Foundation Models, um Code-Empfehlungen zu generieren, die dann zum Erstellen von Ansible Playbooks verwendet werden.

Provisionierung

Mit Ansible Playbooks können Sie den gewünschten Zustand Ihrer Infrastruktur beschreiben und dann von Ansible Automation Platform bereitstellen lassen, sodass Sie stets die gleichen Umgebungen auf die gleiche Weise bereitstellen. Dies gilt für den Aufbau der gesamten Infrastruktur Ihrer IT-Umgebung – von der Erstellung neuer Instanzen in physischen, Cloud- oder virtuellen Landschaften bis hin zum Hinzufügen neuer Services, Anwendungen, Compute-Hosts oder anderer Ressourcen – und zwar mit einem einzigen Workflow.

Konfigurationsmanagement

Durch die Automatisierung des Konfigurationsmanagements können Sie Änderungen und Deployments schneller durchführen, menschliche Fehler minimieren und die Systemverwaltung prädiktiv und skalierbar machen. Indem Sie Computersysteme, Server und Software in einem gewünschten, konsistenten Zustand halten, wird das Risiko von Sicherheitsverletzungen, Servicebeeinträchtigungen oder sogar Ausfällen verringert. Außerdem sparen IT-Teams Zeit bei der manuellen Installation von Patches und Updates und können sich stattdessen auf wichtigere Projekte konzentrieren.

Netzwerkautomatisierung

Bei der Netzwerkautomatisierung wird programmierbare Logik für das Management von Netzwerkressourcen und -services verwendet, sodass NetOps-Teams (Network Operations) die Netzwerkinfrastruktur und Anwendungsservices schneller konfigurieren, skalieren, schützen und integrieren können, als dies manuell möglich wäre.

Anwendungsbereitstellung

Durch eine Automatisierung der Anwendungsbereitstellung können Sie Ihre Software mit koordinierten Prozessen zwischen Test- und Produktivumgebungen verschieben. So können Sie den Softwarebereitstellungszyklus beschleunigen und die Zuverlässigkeit Ihrer Anwendungen in der Produktion verbessern. Dies ist ein wichtiger Grundstein für DevOps-Praktiken und die Verwaltung einer CI/CD-Pipeline.

Sicherheitsautomatisierung

Bei der Sicherheitsautomatisierung werden Sicherheitsprozesse, Anwendungen und Infrastruktur in einen einzelnen Arbeitsablauf integriert. Dieser Prozess kann dazu beitragen, die Sicherheitsabläufe (SecOps) effizienter zu gestalten und gleichzeitig Inkonsistenzen und Fehler zu reduzieren, die zu Sicherheitsverletzungen und anderen Bedrohungen führen. Mit Ansible Automation Platform können Sicherheitsteams eine Abfolge von Jobs konfigurieren, die Inventories, Playbooks oder Berechtigungen teilen und so die Prüfung oder Behebung von Problemen vollständig automatisieren.

Orchestrierung

Das Automatisieren einer einzigen Aufgabe bietet begrenzte Vorteile. Deshalb können Sie mit einer Automatisierungslösung wie Ansible Automation Platform problemlos einen Workflow einrichten und automatisieren, der viele Schritte umfasst, die über mehrere unterschiedliche Systeme hinweg koordiniert werden, wie etwa Infrastruktur, Netzwerkgeräte und Sicherheitstools. Die Orchestrierung verbessert auch die Kommunikation zwischen verschiedenen IT-Teams.

Red Hat Ansible Automation Platform umfasst die erforderlichen Tools, die zur Implementierung einer unternehmensweiten Automatisierung benötigt werden, darunter eine eventgesteuerte Lösung, Playbooks und Analysen. Damit können Sie Ihre IT-Infrastruktur unter anderem 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 Ansible Automation Platform 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