Ansible: Ausbildung, Schulen auf einen Blick

zu den Anbietern
(2)
Infos, Tipps & Tests Video-Storys
(1)

Ansible lernen: Ein Open-Source Automatisierungs-Werkzeug für Applikationen und IT-Infrastruktur

Fragen und Antworten

Einzelne Dateienzeilen zu ändern, ist oft notwendig. Dazu wird jedoch von vielen lineinfile- oder blockinfile-Module verwendet. Praxiserfahrungen zeigen jedoch, dass man diese Module nicht verwenden sollte, wenn Dateien damit verändert werden möchten. Dann sollten lieber das Template– oder Copy-Modul verwenden. Insbesondere, um nicht nur einzelne Zeilen, sondern die gesamte Datei zu verwalten. Dafür gibt es zweierlei Gründe:

  • Bei der Verwendung von lineinfile muss oft Regex verwendet werden. Daraus resultieren folgende Probleme: Die Verwendung von Regex ist oft kompliziert und Personen, die Playbooks dann benutzen, müssen mit Redex vertraut sein.
  • Der Programmierer selbst muss wissen und sich erinnern können, dass diese bestimmte Zeile in dieser einen Konfigurationsdatei von Ansible verwaltet wird.

Wenn Sie die gesamte Datei mit einem Ansible Template verwalten, können Sie dieansible_managed-Variable verwenden, um deutlich zu machen, dass sich die Datei unter Ansible-Kontrolle befindet. Ein weiterer Vorteil ist zudem: Sie können eine Variable für den selinux-state verwenden und diese einfach auf Servern, auf denen selinux nicht im Enforcing-Status sein sollte, ändern.

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 Deutsch» - auf Deutsch bedeutet Ansible ein Open-Source-Orchestrierungstools. Ein Ansible Playbook ist eine organisierte Einheit von Skripten. Mit Ansible kann ein Master-Server einen Slave-Server konfigurieren - dazu verbindet sich der Master per SSH mit dem «Slave» und führt vorgegebene Tasks aus. Jeder Ansible Task beschreibt einen Konfigurationsschritt, wie z.B. das Installieren eines Pakets mittels Ansible Yum. Dabei ruft jeder Task ein Modul in Form von Ansible Modules auf, das die aktuelle Aufgabe umsetzt (beispielsweise das yum-Modul). Das copy-Modul wird dann eingesetzt, wenn eine Datei kopiert werden soll. Für das Managen für Ansible Systemd-Services hingegen kann das Ansible systemd-Modul zum Einsatz kommen. Ansible liefert in Version 2.7 ca. 2’100 Ansible Modules mit. Weitere Module können zusätzlich einfach importiert werden. Will man mehrere Ansible Tasks kombinieren, so benutzt man ein Ansible Playbook. Ansible Playbook definiert Serverkonfigurationen, die vom Automatisierungswerkzeug Ansible verwaltet werden. In diesem Ansible Playbook wird in YAML-Syntax zunächst mit dem hosts key definiert, auf welchen hosts des Inventories das Playbook laufen soll. Anschliessend werden unter dem key tasks alle Aufgaben definiert, die in eben dieser Reihenfolge ablaufen sollen. In einem Ansible-Kurs werden meist Themen wie Ansible Playbook behandelt.

Die Bedeutung von Ansible für die Programmierung ist:

  • Ansible ist eines der Tools, die bevorzugt zur Automatisierung von Vorgängen eingesetzt werden. Gemeint sind Vorgänge,  die man ansonsten mit viel Zeitaufwand und oft ohne professionelle Qualitätskontrolle manuell durchführen müsste. Gegenüber anderen Tools dieser Art (z.B. Puppet, Chef, SaltStack etc.) bietet Ansible einige Vorzüge.
  • Durch die minimale Ausstattung ist Ansible einfach in der Anwendung bei gleichbleibender Effizienz. mittels einfach zu schreibender und lesender YAML-Dateien (= Ansible Playbooks) beschreibt man den Systemzustand.
  • Über die sogenannten Playbooks steuert und gruppiert man die Aufgaben. Man schreibt alles rein, wie man das System haben möchte. Häufig wiederkehrende Elemente lagert man in sogenannten Playbook Roles aus und kann diese dadurch mehrfach verwenden.
  • Man braucht nicht viel installieren, denn auf dem System wird lediglich ein SSH-Server, Ansible Git (Ansible Github) und eine aktuelle Python-Installation (eine Skriptsprache die mit jedem aktuellen Linux System kommt) gebraucht.
  • Und die Lernkurve ist steil. Ansible hilft dabei das Wissen in der Konfiguration (Ansible-Setup) festzuhalten, so dass jederzeit ein DevOps Nachfolger an der Stelle einfach weiter arbeiten kann wo aufgehört wurde. Denn der Code dient als Dokumentation und alles ist reproduzierbar.

Redaktionelle Leitung:

Stefan Schmidlin, Bildungsberatung, Content-Team Modula AG

Quellen

Website des Schweizerischen Sekretariats für Bildung, Forschung und Innovation SBFI , Website www.berufsberatung.ch (offizielles schweizerisches Informationsportal der Studien-, Berufs- und Laufbahnberatung) sowie Websites und anderweitige Informationen der Berufsverbände und Bildungsanbieter.

Erfahrungen, Bewertungen und Meinungen zur Ausbildung / Weiterbildung

Vorschaubild des Videos «4 Schritte zur richtigen 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

Filtern nach Unterrichtsform:
Andere (0)
Adresse:
Hofwiesenstrasse 350
8050 Zürich Oerlikon
AnyWeb Training
(5.5) Ausgezeichnet 39 39 Bewertungen (97% )
AnyWeb ist der grösste Cisco Learning Partner der Schweiz und DAS Kompetenzzentrum, wenn es um Cisco Networking Training, aber auch um allgemeine und spezifische Aus- und Weiterbildung im Bereich der IT-Netzwerktechnologien geht. Bei uns besuchen Sie Standardkurse, Workshops oder Firmenkurse auf einem karrierefördernden Niveau.

Starten Sie heute Ihre Karriere im Netzwerkbereich!
Stärken: Cisco zertifizierte Ausbildung von Network Engineers; durch Erfahrungen aus der täglichen Projektarbeit befähigte Instruktoren; super ÖV-Anbindung in ZH-Oerlikon; Nr. 1 in der Schweiz seit 1996.
Region: Aargau, Basel, Bern, Ostschweiz, Zentralschweiz, Zürich
Standorte: Zürich
Nächstes Startdatum
Zertifizierungen, Mitgliedschaften, Qualifizierungen:
Cisco Learning
Infos herunterladen
Adresse:
Kronenstrasse 11
8735 St. Gallenkappel
ExperTeach AG
Wir unterstützen die ITK-Welt mit Trainings, Zertifizierungen und Consulting-Leistungen. Sie finden bei uns Kurse von Herstellern wie Cisco oder Trend Micro und aus dem Bereich IT Management. Mit unser eigenen Seminarreihe ExperTeach Networking liefern wir Ihnen Technologie-Knowhow zu allen wichtigen ITK-Themen und zu den aktuellen Branchentrends.
Region: Aargau, Basel, Bern, Liechtenstein, Ostschweiz, Tessin, Westschweiz, Zentralschweiz, Zürich
Standorte: Zürich, Frankfurt/Dietzenbach, Wien, Düsseldorf, Hamburg, München
Infos herunterladen

Schulen mit zertifizierter Bildungsberatung

Attraktive Services für SKO Mitglieder

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