Seite wählen

NETWAYS Blog

Setze Deine Reise fort mit unseren Monitoring und Automation Trainings

In der sich ständig wandelnden Welt der IT-Landschaft sind Monitoring- und Automation-Technologien heute unerlässlich. Umso wichtiger ist es, sein Wissen und seine Fähigkeiten regelmäßig zu updaten. Hier präsentieren wir Dir eine Auswahl unserer Trainings, die Dich von den Grundlagen bis zur Expertise in den Bereichen Monitoring und IT-Automation führen.

 

Monitoring Schulungen

Prometheus Fundamentals

Prometheus hat sich als leistungsfähiges Werkzeug in der Open-Source und Monitoring-Welt fest etabliert. Im Prometheus Fundamentals Training zeigen wir Dir, wie Prometheus multidimensional Daten sammelt, analysiert und es Dir dadurch eine präzise Überwachung von Ressourcenauslastung und Anwendungsleistung ermöglicht.
Durch Skalierbarkeit, Effizienz und eine engagierte Community bietet Prometheus eine zuverlässige Lösung für das proaktive Management moderner IT-Infrastrukturen.

Finde Dein Training zum nächstmöglichen Termin.

 

Icinga 2 Advanced

Die Icinga 2 Advanced Schulung baut auf die Themen des Fundamentals-Trainings auf und versetzt Dich in die Lage, auch komplexe Infrastrukturen mit Icinga 2 zu überwachen. Der Fokus hierbei liegt vor allem auf der verteilten und hochverfügbaren Architektur von Icinga 2, sowie der Automatisierung der Konfiguration mit den Importmöglichkeiten des Directors.

Finde Dein Training zum nächstmöglichen Termin.

 

IT Automation Schulungen

Ansible Fundamentals

Ansible ist ein leistungsstarkes Werkzeug für die Automatisierung von IT-Prozessen, Konfigurationsautomatisierung, Playbook-Erstellung und Nutzung von Inventar-Dateien. Mit Ansible kannst Du wiederkehrende Aufgaben automatisieren, was zu einer erheblichen Zeitersparnis führt und somit Ressourcen schont.

Unser Ansible Fundamentals Training vermittelt Dir Grundlagen der Konfigurationsautomatisierung und bietet eine solide Basis für die effiziente Nutzung von Ansible in verschiedenen Szenarien.

Finde Dein Training zum nächstmöglichen Termin.

 

Ansible AWX

Ansible AWX ist eine Open-Source-Plattform, basierend auf dem leistungsstarken Automatisierungstool Ansible. Mit einer intuitiven, webbasierten Benutzeroberfläche bietet AWX eine zentrale Steuerung über Ansible-Projekte, Playbooks und Jobs.

Die Plattform zeichnet sämtliche Aktivitäten auf, was Dir eine detaillierte Überwachung ermöglicht und Dir Fehleranalysen und Sicherheitsprüfungen vereinfacht. Im Ansible AWX Training lernst Du Funktionen wie die Integration von Versionskontrollsystemen, z.B. Git.

Dank der rollenbasierten Zugriffskontrolle hast Du als Administrator die volle Kontrolle über Berechtigungen auf verschiedenen Ebenen. Wir zeigen Dir in unserem Training, wie Du durch parallele Jobausführungen, über verschiedene Hosts hinweg die Zusammenarbeit in deinem Unternehmen fördern kannst.

Lerne, wie Dir Ansible AWX eine effektive, kontrollierte und skalierbare Automatisierung ermöglicht, die sich nahtlos in bestehende Infrastrukturen integrieren lässt.

Finde Dein Training zum nächstmöglichen Termin.

 

Ansible Advanced

Mit Ansible kannst Du sowohl einfache als auch anspruchsvolle Bereitstellungsskripte intuitiv erstellen und Deine Automatisierung vielseitig und effizient gestalten. In unserer Ansible Advanced Schulung erweitern wir Deine Ansible-Kenntnisse und machen Dich zum Überflieger.
Erfahre alles über Fact Caching, nutze diese Facts effektiv, programmiere ein dynamisches Inventory und schreibe Python Lookup Plugins. Entdecke das innovative Konzept der Collections. Kurzum – wir machen dich Schritt für Schritt zum Ansible-Experten!

Finde Dein Training zum nächstmöglichen Termin.

 

Setze Deine Reise zum IT-Experten fort

Diese Trainings helfen Dir, Deine Kenntnisse im Bereich Monitoring und IT-Automation zu vertiefen. Egal ob Prometheus, Icinga 2 oder Ansible, erweitere Deine Fähigkeiten und werde zum Experten! Profitiere vom Know-how unserer Spezialisten und buche Dein Training über unseren Schulungskalender oder nimm Kontakt auf.

Sebastian Zwing
Sebastian Zwing
Marketing Specialist

Sebastian verstärkt seit November 2023 unser Marketingteam. Als Marketing Specialist wird er die Kommunikation der NETWAYS GmbH weiter mit ausbauen und neue Ideen einbringen. Seine Freizeit verbringt Sebastian gerne auf Reisen, als Hobbykoch in der Küche oder am Grill, an der frischen Luft, an und auf dem Wasser, oder auf dem Zweirad.

CfgMgmtCamp 2024: Unser Rückblick

Vergangene Woche fuhr ein Teil unseres Teams bei NWS bis nach Ghent in Belgien, um am ConfigManagementCamp 2024 teilzunehmen.
Hierbei handelt es sich um eine kostenlose Konferenz, direkt im Anschluss an die FOSDEM, was Jahr für Jahr für ein großes Publikum aus Fans von Open Source, guten Gesprächen und neuen Ideen sorgt. Auch dieses Jahr war das nicht anders, und so wollen wir in diesem Artikel noch einmal auf das CfgMgmtCamp 2024 zurückblicken.

Die ollen Zuverlässigen

Configmanagement als Aufgabenbereich ist bereits seit Längerem eine Notwendigkeit im alltäglichen Betrieb von IT-Infrastruktur und Software. So ist es nur natürlich, dass es inzwischen eine Riege etablierter, „oller“ Lösungen gibt, z.B. Puppet, Terraform oder Ansible.
Es war schön zu sehen, dass die Projekte und ihre jeweiligen Ökosysteme weiterhin voller Leben sind: Egal ob event-driven Ansible oder neue ‚Hacks‘ im Umgang mit Puppet, es gab auf jeden Fall noch Neues zu lernen!

Spongebob Schwammkopf Meme "Ol' Reliable"

Ansible, Terraform und Konsorten sind weiterhin zuverlässige Wegbegleiter im Configmanagement

Terraform und sein brandneuer Fork OpenTofu, der im Januar seinen ersten stabilen Release feiern durfte, waren ebenfalls Thema einiger Talks.
Die Tatsache, dass OpenTofu innerhalb von fünf Monaten von Fork zu Stable Release gelangen konnte, zeigt gut, wie wichtig der Community das Projekt ist.
Es wird spannend zu sehen sein, wie sich die beiden Projekte weiter (auseinander) entwickeln.

Noch erwähnenswert ist, dass sowohl Puppet Labs als auch Ansible als Sponsoren am CfgMgmtCamp 2024 auftraten, sodass man sich direkt ‚an der Quelle‘ mit Maintainern und der Community austauschen konnte.

Neues Jahr, Neue Tools

Natürlich waren wir nicht nur vor Ort, um unser Wissen rund um existierende Tools zu vertiefen, wir wollten auch Neues kennenlernen!
Hierzu gab es so einige Möglichkeiten:

Pkl ist eine Konfigurationssprache, die intern bei Apple genutzt wird. Apple hat sich 3 Tage vor dem CfgMgmtCamp dazu entschlossen, diese zu opensourcen. Einen ersten Eindruck konnten wir beim weltweit ersten Talk zu Pkl erhalten:
Die Konfigurationssprache erlaubt es einem, typisierte und durchweg validierte Konfigurationen zu erstellen, die dann in Formate wie YAML oder JSON exportiert werden können. Genaueres findet man auf der Projektwebsite oder im GitHub-Repository des Projekts

Ein weiteres interessantes Projekt, das am CfgMgmtCamp 2024 vorgestellt wurde, ist winglang. Die zugrundeliegende Idee, eine Programmiersprache für Infrastruktur und Code zu haben, fand viel Anklang.
Winglang fokussiert sich dabei auf die Abstraktion der verschiedenen Bausteine „in er Cloud“, um das Definieren von Workloads und Infrastruktur zu erleichtern.
Uns gefiel vor allem der lokale Simulator, der die definierten Ressourcen und das Verhalten der Workloads in Echtzeit wiederspiegelt.

Die dritte Neuheit, die wir nicht unerwähnt lassen wollen, ist System Initiative, ein ‚collaborative power tool designed to remove the papercuts from DevOps work‘. Du kannst es Dir vorstellen wie DrawIO für Infrastructure, mit Multiplayer-Support: Es ist eine GUI mit einer Vielzahl an Cloud-Komponenten, mit denen Du deine Infrastruktur in den Wolken bauen kannst.
System Initiative gleicht im Hintergrund konstant die Korrektheit und den Zustand Deines Projekts mit der Cloud Deines Vertrauens ab.

Unsere Erkenntnisse vom CfgMgmtCamp 2024

Rückblickend konnten wir zwei grundsätzliche Erkenntnisse mit nach Nürnberg nehmen:

Niemand mag YAML, sogar im ‚YAMLCamp‘ – Ansätze wie CUElang, Pkl und winglang deuten mehr als offensichtlich darauf hin.
Ob Sprachen mit strikteren Regeln hinsichtlich Korrektheit der richtige Weg sind, um am Ende dann doch YAML zu generieren, wird sich noch zeigen müssen.

Ansible, Puppet und Terraform sind nachwievor relevant. Wir konnten auch dieses Jahr wieder Neuerungen, Weiterentwicklungen und lebhafte Diskussionen rund um die Tools und ihre jeweiligen Ökosysteme beobachten. Außerdem hat die Open Source Community im vergangenen Jahr eindrucksvoll gezeigt, dass sie die Dinge auch selbst in die Hand nehmen kann, falls nötig (Hallo, OpenTofu!).

Für uns besonders interessant waren einige der Talks rund um Terraform und Ansible, da wir diese rund um OpenStack ebenfalls nutzen: Sei es im Zusammenspiel von OpenStack mit Terraform oder dem Erzeugen dynamischer Inventare unserer Infrastruktur in der Cloud für Ansible.

Und solltest Du Dich noch nicht bereit fühle, direkt ins tiefe Wasser des Configmanagements zu springen, sind ja auch noch unsere MyEngineers bereit, Dir jederzeit zu helfen.

Daniel Bodky
Daniel Bodky
Platform Advocate

Daniel kam nach Abschluss seines Studiums im Oktober 2021 zu NETWAYS und beriet zwei Jahre lang Kunden zu den Themen Icinga2 und Kubernetes, bevor es ihn weiter zu Managed Services zog. Seitdem redet und schreibt er viel über cloud-native Technologien und ihre spannenden Anwendungsfälle und gibt sein Bestes, um Neues und Interessantes rund um Kubernetes zu vermitteln. Nebenher schreibt er in seiner Freizeit kleinere Tools für verschiedenste Einsatzgebiete, nimmt öfters mal ein Buch in die Hand oder widmet sich seinem viel zu großen Berg Lego. In der wärmeren Jahreszeit findet man ihn außerdem oft auf dem Fahrrad oder beim Wandern.

stackconf 2022 | Is that an Ansible? Stop holding it like a Puppet

Let’s take a walk down memory lane and see which insights stackconf 2022 has brought? Today we dive into Felix‘ talk Is that an Ansible? Stop holding it like a Puppet.

 

What to Expect

Despite rumors towards the contrary, on-prem solutions are still going strong. Platform and service providers in these settings continue to have use for traditional configuration management tooling. Both Puppet and Ansible continue to be relevant in this context. But which is the right tool for you? How do you choose? And how do you get most out of your tool of choice? This session systematically gives you the insight needed to answer these questions for your organization.

 

Enjoy his valuable Expert Know-How and watch the Video!

YouTube player

 

You’re convinced by our top-level speaker and want to gain even more knowledge from our open source experts? Then you should definitely join this year’s edition of the event. stackconf 2023 takes place from September 13 – 14, 2023 in Berlin.

The program is already online. So, check it out, choose your favourite talks and make sure to grab one of our tickets!

We look forward to welcoming you soon in Berlin!

Katja Kotschenreuther
Katja Kotschenreuther
Manager Marketing

Katja ist seit Oktober 2020 Teil des Marketing Teams. Als Manager Marketing kümmert sie sich hauptsächlich um das Marketing für die Konferenzen stackconf und OSMC sowie unsere Trainings. Zudem unterstützt sie das Icinga Team mit verschiedenen Social Media Kampagnen und der Bewerbung der Icinga Camps. Sie ist SEO-Verantwortliche für all unsere Websites und sehr viel in unserem Blog unterwegs. In ihrer Freizeit reist sie gerne, bastelt, backt und engagiert sich bei Foodsharing. Im Sommer kümmert sie sich außerdem um ihren viel zu großen Gemüseanbau.

Semaphore, Rundeck oder AWX – Welches Tool eignet sich als Ansible-GUI?

Rundeck, AWX und Ansible Semaphore sind nützliche Tools zur Arbeit mit Ansible. Als Ansible-GUI lösen lösen sie die Arbeit mit Ansible von der Konsole und geben auch Fans grafischer Optionen die Möglichkeit Ansible voll auszukosten.
In meinem ersten Blogpost für NETWAYS habe ich dir bereits Ansible Semaphore vorgestellt. Dabei sind jedoch einige Fragen offen geblieben oder mir erst bei der Arbeit am Artikel gekommen:

  • Wofür ist Semaphore es das richtige Tool?
  • Was sind die Alternativen?
  • Welches Tool eignet sich am besten als Ansible-GUI

Um diese Fragen zu beantworten, werfe ich in diesem Blogpost einen Blick auf die Semaphore Alternativen Rundeck und AWX, gehe auf (aus meiner Sicht) Vor- und Nachteile ein und gebe dir am Ende mein persönliches Fazit.

Grafische Ansible Automatisierung mit Rundeck

Was ist Rundeck?

Rundeck ist eine Open-Source-Automatisierungsplattform, die dir hilft deine Automatisierungen zu verwalten und zu planen. Rundeck kann jedoch noch viel mehr als nur das Ausführen von Ansible-Playbooks, zum Beispiel das Ausführen von Remote-Befehlen oder Skripten.

Um Rundeck zu installieren stehen dir verschiedene Möglichkeiten zur Verfügung:

  • Docker-Container
  • RPM- / DEB-Paket
  • WAR-Datei auf Windows

Bei der RPM- / DEB-Installation gibt es zudem einen weiteren Punkt der beachtet werden muss: du musst den Service als initd-Skript starten.
Neben den verschiedenen Installationsmöglichkeiten verfügt Rundeck auch über einen Terraform-Provider. Damit kannst du zusätzlich deine Projekte, Jobs, ACL-Policies und SSH-Keys verwalten.

Um Ansible-Playbooks mit Rundeck auszuführen, muss Ansible auf dem Server installiert sein. Anschließend kannst du Inventories importieren und Playbooks ausführen. Vergiss dabei aber nicht, dass die Dateien die du ausführen willst lokal auf auf dem Server liegen müssen.

Versionen von Rundeck

Rundeck ist als Community-Version, Enterprise-Version und Cloud-Version verfügbar.
Bei der Cloud-Version handelt es sich um eine gemanagte SaaS-Lösung mit allen Funktionen der Enterprise-Version. Die Rundeck Enterprise-Version bietet unter Anderem die Möglichkeit zur Verwendung der Single-Sign-On-Authentifizierung, während die kostenlose Version LDAP– und PAM-Integration bietet.
High Availability durch Cluster-Betrieb und ACL-Management über die Benutzeroberfläche ist ebenfalls nur in der Enterprise-Version verfügbar.

Was gibt es sonst noch?

Zusätzlich zu Ansible bietet Rundeck weitere sogenannte „Node Executioners„, die die Remote-Konfiguration ermöglichen, z. B. einen WinRM/Powershell Executioner, mit dem PowerShell-Skripte remote ausgeführt werden können.
Oder den AWS Elastic Container Service (ECS) Node Executor (in der Enterprise-Version), der Befehle auf Amazon ECS-Containern ausführen kann.

Die Konfiguration, um Ansible verwenden zu können, war für mich relativ aufwändig. Ich hatte Probleme mich in der Benutzeroberfläche zurechtzufinden, denn das Anlegen von Nodes ist beispielsweise relativ versteckt, während das Anlegen von Jobs einfach im Job-Tab möglich ist. Dadurch hat es mich ein wenig Zeit gekostet bis ich „Nodes“ (Hosts) und „Jobs“ (die auszuführenden Playbooks) anlegen konnte.

Das gesagt, kommen wir zu meinen persönlichen Vor- und Nachteilen von Rundeck:

Vorteile von Rundeck

  • Einfache Installation
  • Kann viel mehr als nur Ansible
  • Teilweise über Terraform verwaltbar

Nachteile von Rundeck

  • Unübersichtliche und unintuitive Benutzeroberfläche

Grafische Ansible Automatisierung mit AWX

Was ist AWX?

AWX ist ein Open-Source-Projekt, das ein grafisches Interface und eine REST-API bereitstellt, die auf Ansible aufbauen. Das Projekt wird von Red Hat mitfinanziert und ist eines der Upstream-Projekte für die Red Hat Ansible Automation Platform.

AWX muss in einem Kubernetes-Cluster installiert werden. Es besteht zwar die Möglichkeit, es mit Docker Compose zu installieren, dies wird jedoch nur zu Testzwecken empfohlen.

Die Konfiguration erfolgt entweder über die Benutzeroberfläche oder mithilfe der AWX Ansible Collection.

Wie AWX funktioniert

Ansible Playbooks und Inventories können aus Git-Repositories (öffentlich und privat) eingelesen oder lokal auf dem Rechner abgelegt werden. Inventories können klassisch als INI- oder YAML-Datei oder aus verschiedenen Quellen als dynamische Inventories (z. B. OpenStack, AWS EC2 usw.) importiert werden.
Dynamische Inventories, für die es Plugins gibt, die AWX jedoch noch nicht nativ unterstützt, können als normale Inventory-Dateien eingebunden werden.

Für die Authentifizierung bietet AWX folgende Methoden:

  • GitHub OAuth
  • Google OAuth 2
  • LDAP
  • SAML
  • Generic OIDC

Persönlich finde ich, dass die Benutzeroberfläche von recht intuitiv zu bedienen ist und im Gegensatz zu anderen GUIs nicht überladen wirkt. Damit kommen wir zu den Vor- und Nachteilen von AWX:

Vorteile von AWX

  • Wird größtenteils von der Ansible-Community entwickelt und ist daher sehr eng mit Ansible verbunden
  • Bietet die gängigsten Authentifizierungsmethoden
  • Relativ einfach zu bedienen
  • Ist als Code konfigurierbar

Nachteile von AWX

  • Das Betreiben von AWX in einem Kubernetes-Cluster kann überwältigend sein, wenn man noch keine Erfahrung mit Kubernetes hat

Fazit

Nun habe ich dir in meinen beiden Blogbeiträgen einen groben Überblick über Semaphore, Rundeck und AWX gegeben. Jetzt bleibt mir nur noch übrig die Fragen vom Anfang zu beantworten!

Wofür ist Ansible Semaphore das richtige Tool?
Ich würde dir Semaphore empfehlen, wenn du eine Benutzeroberfläche möchtest, auf der du regelmäßig Playbooks ausführen willst. Die Infrastruktur die du damit verwalten willst sollte jedoch noch nicht allzu groß sein, da es sonst unübersichtlich werden könnte.

Für wen eigenet sich Rundeck?
Rundeck
bietet dir zwar mehr Möglichkeiten als Ansible, ist aber relativ unübersichtlich.
Rundeck ist die richtige Plattform für dich, wenn deine zu verwaltende Infrastruktur so vielfältig ist, dass neben Playbooks auch Skripte und Befehle verwaltet und geplant werden sollen.

Und was ist mit AWX?
AWX
ist aufgrund der Nähe zu Ansible und der verbesserten Konfigurationsmöglichkeiten (Konfiguration als Code durch Ansible) die Plattform der Wahl.
Besonders wenn du größere Infrastrukturen mit Hilfe von Ansible verwalten willst oder in deiner Infrastruktur bereits ein Kubernetes im Einsatz ist.

 

Ich hoffe dass ich dir mit meinen beiden Blogposts eine kleine Entscheidungshilfe geben konnte, wenn du vor der Frage stehst, welches GUI-Tool für Ansible du nutzen willst.
Wenn du darüber hinaus Hilfe bei Themen rund um Ansible, Automatisierung oder andere spannende Open Source Themen suchst, freuen ich und meine Kolleg:innen uns auf deine Nachricht!

Lucy Siemer
Lucy Siemer
Consultant

Lucy ist seit Mai 2023 bei NETWAYS als Consultant tätig, nachdem sie im Jahr 2022 ihre Ausbildung zur Fachinformatikerin für Systemintegration erfolgreich abgeschlossen hat. Ihre Schwerpunkte liegen auf den Bereichen Kubernetes, Infrastructure as Code und Monitoring. Neben ihrer Arbeit bei NETWAYS betreut Lucy auch privat ihre eigene Infrastruktur auf Kubernetes. Darüber hinaus ist sie leidenschaftlich daran interessiert, eigene Kleider zu nähen und individuelle Designs zu kreieren.

Was ist Ansible Semaphore?

Als Open Source Consultants müssen meine Kolleg:innen und ich uns regelmäßig mit neuen Technologien, Tools oder anderen Neuerungen auseinandersetzen. Dabei testen wir besonders neue Software die uns und unseren Kund:innen das Leben potenziell leichter machen können oder Tools, die gerade einen Hype erfahren. Dadurch können wir qualifiziert entscheiden, was wir in unsere tägliche Arbeit einfließen lassen und was nicht. Das Tool mit dem ich in den letzten Tagen beschäftigt habe ist Ansible Semaphore, das ich euch in meinem ersten Blogbeitrag für NETWAYS vorstellen darf.

Was ist Ansible Semaphore?

Semaphore ist eine Web-UI, in der Ansible-Playbooks ausgeführt und geplant werden können. Es bietet eine Übersicht über vorhandene Playbooks und Inventories sowie eine Funktion zur Planung von regelmäßigen Tasks. Außerdem werden auf dem Dashboard Informationen angezeigt, wann welche Tasks zuletzt ausgeführt wurden und ob sie erfolgreich waren. Um dir einen Überblick über Semaphore zu geben, gehe ich im Folgenden auf die wichtigsten Elemente ein stelle sie dir vor.

Installation von Semaphore

Semaphore ist als Snap, Deb oder RPM Paket verfügbar. Damit bedienen die Entwickler:innen alle gängigen Betriebssysteme. Zudem stellt Semaphore eine Docker-Compose-Datei bereit, um es als Docker-Container zu installieren. Die einzelnen Schritte für jede Installationsform in diesem Blogpost zu veröffentlichen würde den geplanten Rahmen sprengen. Deshalb verweise ich hier sehr gerne auf die offizielle Ansible Semaphore Installationsanleitung.

Ansible Semaphore konfigurieren

Nach der Installation kann Semaphore hast du zwei Optionen dein neues Tool zu konfigurieren:

  • Über die Kommandozeile
  • Über eine config.json Datei

Auch bei der Benutzerverwaltung haben die Entwickler:innen auf zwei bekannte Verwaltungsmöglichkeiten gesetzt: Manuelle Verwaltung und eine LDAP Anbindung. Semaphore stellt zusätzlich eine API-Schnittstelle zur Verfügung, über die User:innen Ansible Semaphore konfigurieren und steuern können. Mehr über die Konfiguration und wie genau du sie durchführst erfährst du in der API-Dokumentation von Semaphore.

Benutzeroberfläche von Semaphore

Bei einer Web-UI kommt es vor allem auf eines an: Übersichtlichkeit. Und das schafft Semaphore ganz gut. Nach dem erfolgreichen Einloggen bekommst du folgende Oberfläche angezeigt: Die Weboberfläche von Semaphore. Man sieht 3 gelaufene Tasks, einer ist erfolgreich gelaufen, die anderen sind fehlgeschlagen. An der linken Seite gibt es eine bläuliche Menüleiste, in der die Punkte Die von mir gezeigte Oberfläche hat schon ein paar Tasks im Dashboard. Bei einer frischen Installation ist es noch leer, eine Demo-Konfiguration ist also nicht vorhanden. Dafür bietet Semaphore eine interaktive Demo-Oberfläche, auf der du dich mit der neuen Umgebung vertraut machen und erst kleine Aufgaben testen kannst. Um zu veranschaulichen, wie eine Produktivumgebung von Semaphore aussehen kann, habe ich drei Beispieltasks erstellt. Eine ist erfolgreich gelaufen, die anderen beiden sind fehlgeschlagen. Dadurch kann ich euch passende Beispiele für die Darstellung des Status zeigen. Neben der Darstellung der der Tasks ist auf der linken Seite eine türkis/blaue Menüleiste mit den Menüpunkten „Dashboard“, „Task Templates“, „Inventory“ „Environment“, „Key Store“, „Repositories“ und „Team“. Ganz unten in der Leiste gibt es einen Slider für einen Dark Mode und du bekommst angezeigt mit welchem User du angemeld bist. Die Oberfläche ist ja schön und gut, aber wie erstelle ich jetzt Tasks? Dafür musst du noch vier Parameter konfigurieren:

Keys

Im Key Store können SSH-Keys und Benutzer-Passwort-Paare abgelegt werden. Diese werden verwendet, um sich bei den Servern, auf denen die Ansible-Playbooks ausgeführt werden, zu authentifizieren. Die Keys werden auch zur Authentifizierung bei den Repositories verwendet, in denen die Playbooks liegen.

Inventories

Inventories enthalten, wie bei klassischem Ansible, die Server/Hosts, auf denen die Playbooks ausgeführt werden sollen. Inventories können entweder direkt in der Oberfläche angelegt werden oder auf dem Host-System von Semaphore abgelegt werden.

Environments

In Semaphore können verschiedene Environments angelegt werden, in denen Environment-Variablen gesetzt werden können.

Repositories

Die Playbooks, die verwendet werden sollen, müssen über Git-Repositories eingebunden werden. Diese Repositories können auf Git-Servern oder als lokale Repositories auf dem Host-System vorliegen. Zum Einbinden von Repositories wird ein Access Key aus dem Key Store benötigt. Bei Repositories, die über ssh eingebunden werden, ist dies ein privater SSH-Key. Bei HTTPS-Repositories muss ein Access Key vom Typ „None“ eingebunden werden, der nichts beinhaltet, aber angelegt sein muss. Somit können nur öffentliche Repositories über HTTPS eingebunden werden.

Erstellen und Ausführen von Tasks

Sobald alle oben genannten Komponenten eingerichtet sind, können „Task Templates“ erstellt werden. Anders als bei Ansible bestimmen Tasks in Semaphore, welche Playbooks ausgeführt werden. Ein Task Template umfasst:

  • Was passiert: Welches Playbook verwendet wird
  • Wo es passiert: Welches Inventory verwendet wird
  • Wie es passiert: Welches Environment verwendet wird
  • Wann es passiert: Planung durch Cron

Es gibt drei Arten von Templates: Task, Build,Deploy

  • Normale Tasks führen einfach Playbooks aus
  • Builds werden verwendet, um Artefakte (z.B. Packages oder Docker Container) zu erstellen. Semaphore unterstützt die Artefakterstellung nicht von Haus aus, das Build Template liefert lediglich eine Versionierung.
  • Deploys werden verwendet, um mit Build erstellte Artefakte zu deployen/installieren. Deploy Templates werden immer mit Build Templates verknüpft. Dadurch kann eine bestimmte Version des Artefakte auf den spezifizierten Servern installiert werden.

Nachdem das Task-Template erstellt wurde, drückt man einfach auf „Play“! Semaphore bietet die Möglichkeit, die Playbooks im Debug-Modus (ansible-playbook –vvvv), als Dry-Run (–check) oder im „Diff“-Modus (–diff) auszuführen. Der bekannte Output von Ansible wird dann angezeigt und kann auch nach dem Durchlauf eingesehen werden. Dadurch kann man bei einem fehlgeschlagenen Play nachsehen, welcher Fehler aufgetreten ist.

Fazit

Semaphore eignet sich meiner Ansicht nach zum gemeinsamen Arbeiten mit den gleichen Playbooks. Durch das benutzerfreundliche Interface erhält man schnell einen Überblick über die Ausführung von Tasks auf verschiedenen Geräten und deren Erfolg.  Die Cron-Funktion der Tasks ermöglicht eine regelmäßige Ausführung, was beispielsweise beim Aktualisieren von installierten Paketen nützlich ist. Es besteht allerdings auch noch Verbesserungsbedarf. Bei der Arbeit kann es hinderlich sein, dass private Git-Repositories nicht über HTTPS eingebunden werden können, da keine Authentifizierung möglich ist. Die „CI“-Funktionen mit den Build- und Deploy-Tasks werfen auch noch einige Fragen auf und sind vielleicht noch nicht ganz ausgereift. Wenn du dir jetzt denkst, dass sich Ansible Semaphore eigentlich ganz interessant anhört, du aber wissen willst wie es sich im Vergleich mit den GUI-Tools Rundeck und AWX beweist, dann habe ich gute Nachrichten für dich: Ich habe genau diese drei Tools miteinander verglichen und mein persönliches Fazit gezogen. Das Ergebnis meines Tests liest du im entsprechenden Blogpost.

Lucy Siemer
Lucy Siemer
Consultant

Lucy ist seit Mai 2023 bei NETWAYS als Consultant tätig, nachdem sie im Jahr 2022 ihre Ausbildung zur Fachinformatikerin für Systemintegration erfolgreich abgeschlossen hat. Ihre Schwerpunkte liegen auf den Bereichen Kubernetes, Infrastructure as Code und Monitoring. Neben ihrer Arbeit bei NETWAYS betreut Lucy auch privat ihre eigene Infrastruktur auf Kubernetes. Darüber hinaus ist sie leidenschaftlich daran interessiert, eigene Kleider zu nähen und individuelle Designs zu kreieren.