Ansible: Ausbildung, Schulen auf einen Blick
Ansible lernen: Ein Open-Source Automatisierungs-Werkzeug für Applikationen und IT-Infrastruktur
Fragen und Antworten
Was ist Ansible Galaxy und wie kann es genutzt werden – unter anderem für Ansible Collections?
Ansible ist ein Open-Source Automatisierungs-Werkzeug. Es wird zur Orchestrierung und allgemeinen Konfiguration und Administration von Computern genutzt. Dazu kombiniert es Softwareverteilung, Ad-hoc-Kommando-Ausführung und Konfigurationsmanagement. Dabei erfolgt die Verwaltung von Netzwerkcomputern unter anderem über SSH. Der Vorteil bei Ansible ist, es erfordert keinerlei zusätzliche Software auf dem zu verwaltenden System. Und Module können in jeder beliebigen Programmiersprache geschrieben sein, da sie zur Ausgabe JSON nutzen. Das System hingegen nutzt YAML zur Formulierung wiederverwendbarer Beschreibungen von Systemen. Ein Ansible-Beispiel (Ansible Example) ist Ansible Galaxy. Mit Ansible Galaxy ist es gar möglich, eigene Ansible-Repositories anzulegen. Der unter freier Lizenz durch Red Hat veröffentliche Quellcode von Ansible Galaxy ist der offizielle Community Hub für die gemeinsame Nutzung von Ansible Roles. Mit dem Open-Source-Projekt Ansible Galaxy können Unternehmen einen eigenen Galaxy-Server einrichten. Damit kann man den nativen Ansible-Client zur Weiterleitung m privaten Galaxy Repository nutzen. Zudem können Anwender und Unternehmen jetzt neue Features und Erweiterungen direkt in die Galaxy Codebase einbringen.
Eine Ansible Collection kann verschiedene Komponenten von Ansible enthalten: Ansible Roles, Ansible Modules oder Ansible Plugins. Inhalte können Sie mit dem Installieren der Ansible Collections (Collection der eigenen Ansible-Umgebung) zur Verfügung stellen. Mit der Form «Namespace» wird Naming Collisions bei Ansible Collections verhindert und Namespaces haben keine Relation zu Ansible Github Handles. Ansible Collections werden gepackt und gepushed auf Ansible Galaxy und können auf beliebigen Git Respostory gehostet sein – privat oder public. Der Namespace wird im Metafile galaxy.yml definiert. In einem Ansible-Kurs wird das Thema Ansible Galaxy meist behandelt.
Wie kommen Ansible Templates zur Anwendung und wieso ist der Ansible Loop so wichtig?
Playbooks verwenden eine einfache beschreibende Sprache, die auf YAML- und Jinja-Templates basiert. Mit Jinja2 können Templates vererbt werden. In einem Base-Template können allgemeingültige Elemente definiert werden. In sogenannten „Blocks“ können Teile von Child-Templates überschrieben werden. Für die Webseite wird ein spezifisches Ansible Template verwendet. Die dort in Jinja-Syntax eingebundenen Variablen werden dann von Ansible ausgefüllt, wenn die Datei mittels template-Modul an die gewünschte Stelle kopiert wird. Template-Dateien bekommen die Dateiendung .j2. Mit der Ansible Template-Datei und dem Stylesheet erhält man dann eine genaue Ordnerstruktur. Der darauffolgende Task verläuft analog zum Neustarten des Firewall-Dienstes: Sofern sich die index-Datei oder das Stylesheet beim Deployment ändern, kann nginx ev. neu gestartet oder im laufenden Betrieb die ausgelieferten Dateien geändert werden. Der letzte Task soll nun noch eine Nachricht als «Message-of-the-day» setzen, die beim Server Login per SSH angezeigt wird. Auch hier wird wieder das Ansible template-Modul benutzt, um die gewünschte Datei nach etc/motd zu kopieren. Es wird also eine motd.j2-Templatedatei hinzugefügt. Die ansible_*-Variablen kommen analog zum Website-Template aus den Host-facts. Das gilt jedoch nicht für webserver_name, denn da diese Variable pro Server verschieden sein soll, muss diese auch dementsprechend festgelegt werden.
Jedes Ansible-Modul kann eigenständig und in einer beliebigen Programmiersprache geschrieben sein. Dabei sollten die Module idempotent im Sinne von einem «Ansible Loop» sein. Damit, selbst wenn ein Vorgang mehrfach wiederholt wird – z.B. bei der Wiederherstellung nach einem Ausfall – das System immer in denselben Zustand versetzt wird.
Ansible Shell: Wie kann Ansible standardmässig auf die Host-Datei im Verzeichnis zurückgreifen?
Ansible ist ein Konfigurations-Verwaltungs-Programm. Mit der Hilfe dieses Programms ist es möglich, von einem Computer aus Installations- und Konfigurations-Routinen simultan auf beliebig vielen anderen Rechnern auszuführen. Die Voraussetzung dafür ist lediglich, dass der auf dem Tower angemeldete Benutzer sich via SSH auf den anderen Rechnern anmelden kann (SSH-Schlüssel) und dort gegebenenfalls SuperUser-Rechte bekommt. Auf den Clients selbst muss jedoch keine weitere Software installiert werden. Beim Aufruf von Ansible kann der Pfad der gewünschten Hosts-Datei mittels der Option «-i hostfile» explizit angegebenen werden. Möchte man allerdings, dass Ansible standardmässig auf die Host-Datei im Verzeichnis «~/ansible» zurückgreift, so kann man folgende Zeile in einer Ansible Shell eingeben (oder diese am Ende der Konfigurationsdatei «~/.bashrc beziehungsweise ~/.zshrc» einfügen).
Ein Vorteil von Ansible ist die vorgängige Prüfung der vorliegenden Bedingungen. Erst danach werden bei Bedarf irgendwelche Routinen aufgerufen. Sind beispielsweise die gewünschten Programme bereits installiert oder die entsprechenden Konfigurationsdateien angepasst, so gibt es keine Veränderungen. Wegen derartiger Features wird Ansible häufig bei der Server-Verwaltung eingesetzt, da ein aktiver Server-Dienst damit nicht erneut gestartet wird. Ansible Service kann allerdings auch auf üblichen Computern genutzt werden. Zudem können Docker-Container mit Ansible Docker konfiguriert werden.
Ansible Tutorial: Wie kann ich mit einem Ansible File Dateien verwalten?
Mit einem Ansible File können Sie Dateien mit Hilfe von Ansible-Modulen verwalten. Dateien können mit Ansible aber auch kopiert, bearbeitet, eingefügt, heruntergeladen oder ersetzt werden. Gemäss Ansible Tutorial können mit dem Modul «copy» Dateien mit dem Kopiermodul aus dem Verzeichnis «Ansible File» kopiert werden. Das Modul «template» kopiert die Jinja2-Vorlage hingegen aus dem Verzeichnis «Vorlage» auf Ansible Playbooks. Damit eignet sich das Ansible Copy gemäss Ansible Tutorial nur zum Kopieren persistenter Dateien wie Zertifikate. Das Modul «Template» hingegen eher für wiederverwendbare Konfigurationen wie virtuelle Host-Konfigurationen. Um eine Datei von der entfernten Maschine auf einen lokalen Ansible Knoten herunterzuladen eignet sich das Ansible Modul «Fetch». Um Dateien mit Ansible zu bearbeiten gibt es gemäss Ansible Tutorial folgende Möglichkeiten:
- mehrere Zeilen in eine Datei einfügen mit dem Ansible Modul «blockinfile»
- mehrere Zeilen mit den Markierungsoptionen einfügen mit Marker-Option «insertafter» oder «insertbefore»
- Löschen/Entfernen mehrerer Linien durch Blockieren die Umgebung innerhalb der Markierungen
- Neue Zeile in Datei einfügen mit «PermitEmptyPasswords»
- Linie aus Datei entfernen mit dem Liniendatei-Modul
- Ersetzen von Musterzeichenketten durch reguläre Ausdrücke und Ersetzen des Moduls mit «Replace»
- Unkommentierte Konfigurationen mit «Server Tokens»
- Kommentar zur Konfigurationslinie
Attribute von Dateien können gemäss Ansible Tutorial über das Dateimodul in Ansible gesetzt werden, z.B. über Symlink-Datei oder Erstellen eines neuen Verzeichnisses mit Hilfe des Dateimoduls. Es gibt also zahlreiche Möglichkeiten mit einem Ansible File Dateien zu verwalten.
Um Ansible als beliebtestes Tool für Konfigurationsverwaltung und Infrastrukturautomatisierung auch unter Windows zum Laufen zu bringen, folgen Sie der Ansible Documentation für «Ansible Windows». Das «Ansible Install» gelingt mit Cygwin – eine POSIX-kompatible Umgebung, die unter Windows ausgeführt werden kann. Denn Sie können viele Dinge unter Windows ausführen, was Sie normalerweise unter UNIX-basierten Betriebssystemen tun. Die Standardinstallation von Cygwin deckt Ansible nicht ab, daher müssen Sie sie während der Installation «Herunterladen Cygwin» auswählen. Auch das Verwenden von Ubuntu unter Windows 10 ist eine Möglichkeit.
Erfahrungen, Bewertungen und Meinungen zur Ausbildung / Weiterbildung
Die richtige Aus- oder Weiterbildung noch nicht gefunden? Jetzt von einer Bildungsberatung profitieren!
Sich weiterzubilden ist nicht nur wichtig, um die berufliche Attraktivität halten bzw. steigern zu können, nach wie vor ist die Investition in eine Aus- oder Weiterbildung der effizienteste Weg, um die Chancen auf eine Lohnerhöhung zu steigern.
Das Schweizer Bildungssystem bietet eine grosse Auswahl an individuellen Aus- und Weiterbildungsmöglichkeiten – je nach persönlichem Bildungsstand, Berufserfahrung und Ausbildungsziel.
Die Wahl des richtigen Bildungsangebotes fällt vielen Bildungsinteressenten/-innen nicht leicht.
Welche Aus- und Weiterbildung ist für meinen Weg nun die richtige?
Unser Bildungsberatungs-Team führt dich den «Bildungs-Dschungel», gibt konkrete Inputs und relevante Hintergrundinformationen zur Wahl des richtigen Angebotes.
Deine Vorteile:
Du erhältst
- Vorschläge für passende Kurse, Seminare oder Lehrgänge aufgrund deiner Angaben im Fragebogen
- Einen Überblick über die verschiedenen Bildungsstufen und Bildungsarten
- Auskunft über das Bildungssystem Schweiz
Wir bieten unsere Bildungsberatung auf Wunsch in folgenden Sprachen an: Französisch, Italienisch, Englisch
Jetzt anmelden und deine Weiterbildungspläne konkretisieren.

Sofort zur richtigen Weiterbildung
Attraktive Services für Swisscom Mitarbeitende
Kostenlose Services
» Bildungsberatung (Wert: CHF 150.–)
Bildungs- und Businessratgeber (Wert: CHF 175.–)
» CV-Check von Karriere.ch
» Rabatte
Attraktive Rabattierungen seitens der Bildungsanbieter.
» Massgeschneiderte Bildungsangebote
Ohne grossen Zeitaufwand den besten Trainer, Coach oder Schulungsanbieter finden
Bildungsangebot Schweiz
Aus über 700 Bildungsanbietern das richtige Bildungsangebot finden