Sikov - stock.adobe.com

Top 4 Open-Source-Automatisierungs-Tools für Admins

Vor dem Einsatz von Open-Source-Automatisierungs-Tools in Linux sollten Sie Benutzerfreundlichkeit, Funktionen und Unterstützung für vorhandene Distributionen überprüfen.

Der IT-Betrieb von Unternehmen wächst oft schneller, als die vorhandene Personalstruktur hinterherkommen kann. Ab einem gewissen Punkt ist daher Automatisierung ein notwendiger Schritt, um dem Verwaltungsaufwand noch Herr zu werden. Zum Glück gibt es viele Open-Source-Automatisierungs-Tools, die sich für solche Aufgaben eignen.

Natürlich hängt es von der vorhandenen Struktur ab, wie Administratoren eine Aufgabe automatisieren können. Seien es Container, proprietäre Software von Drittanbietern oder eine Lösung der Marke Eigenbau auf der Basis von Open-Source-Software: Diese vier Open-Source-Tools können dem IT-Team weiterhelfen, egal welche Anforderungen an die Automatisierung gestellt werden oder welche Tools schon vorhanden sind.

Jenkins für die Orchestrierung von Aufgaben

Jenkins ist ein CI-/CD-Automatisierungs-Tool (Continuous Integration/Continuous Delivery) und ist ein wichtiges Tool für Unternehmen, die Kubernetes und Docker für die Bereitstellung von Anwendungen und Services nutzen. Mit Jenkins können Administratoren Befehle für das automatisierte Erstellung und Bereitstellung von Applikationen und Services einrichten.

Als Open-Source-Automatisierungs-Tool lässt sich Jenkins in diverse Versionsverwaltungssysteme integrieren. Dazu gehören AccuRev, Concurrent Versions System, Apache Subversion, Git, Mercurial, Perforce Software, TD/OMS, Rational ClearCase und Rational Team Concert. Das bedeutet, dass Jenkins sich mit Repositories synchronisieren und selbstständig Software-Builds auf der Grundlage automatischer Trigger ausführen kann.

Jenkins ist so konfigurierbar, dass es Änderungen in einem Repository erkennt und den Code automatisch übersetzt. Jenkins bietet auch diverse Plug-ins, mit denen Admins Funktionen wie automatische Benachrichtigungen einrichten können. So kann Jenkins zum Beispiel eine Mitteilung senden, wenn ein neuer Build fehlgeschlagen, instabil oder erfolgreich ist. Jenkins strukturiert Automatisierungsaufgaben in einer Jobarchitektur. Kategorien für Aufgaben sind Freestyleprojekte, Pipelines, Multikonfigurationsprojekte, Ordner, GitHub-Organisation oder Multibranch Pipeline.

Abbildung 1: Einen Job in Jenkins erstellen
Abbildung 1: Einen Job in Jenkins erstellen

Jenkins lässt sich auf den meisten Linux-Distributionen installieren. Unter anderen sind das Debian, Fedora, Red Hat Enterprise Linux (RHEL) und Ubuntu.

Updates mit Cockpit vereinfachen

Cockpit ist eine webbasierte GUI (Graphic User Interface) für verschiedene Aspekte des Linux-Servermanagements. Das Open-Source-Automatisierungs-Tool hilft bei der Erledigung verschiedener Aufgaben, unter anderem der Nutzerverwaltung und Installation von Software. Auch automatisierte Software-Upgrades können durchgeführt werden.

Mit Cockpit können Admins alle Komponenten aktualisieren oder nur Security-Updates einspielen. Sie können auch festlegen, wann die Updates durchgeführt werden sollen.

Abbildung 2: Konfiguration der automatischen Updates mit Cockpit auf einem Server mit CentOS 8
Abbildung 2: Konfiguration der automatischen Updates mit Cockpit auf einem Server mit CentOS 8

Es sind aber nicht nur automatisierte Updates möglich, sondern auch automatische Neustarts des entsprechenden Servers zu festgelegten Zeiten. Cockpit lässt sich auf den meisten Linux-Distributionen installieren. Unter CentOS und RHEL 8 wird es automatisch installiert.

Kubernetes für Container implementieren

Kubernetes an sich ist kein Automatisierungs-Tool, aber trotzdem wichtig für Administratoren, die mit Containerautomatisierung arbeiten. Mit Kubernetes können diese nämlich eine GitOps-Entwickler-Pipeline in den IT-Betrieb integrieren. Dadurch können fast alle Schritte beim Einsatz von Containern automatisiert werden.

Ein Beispiel: Ein Build-Prozess beginnt automatisch mit dem Hinzufügen von Code in ein Git Repository. Aber es ist nicht nur ein einfacher Build-Prozess, sondern dank Kubernetes können Administratoren dafür Werkzeuge, wie zum Beispiel Flagger, Flux, Helm, Prometheus und Terraform als Ebenen eingesetzt und damit der Automatisierungs-Workflow intuitiver und flexibler werden.

Kommt die richtige Kombination an Workflows zusammen mit Kubernetes zum Einsatz, können Admins die Automatisierung so konfigurieren, dass jede Infrastruktur mit konsistenten Workflows funktioniert. Damit wird garantiert, dass die Cluster-Konfigurationen immer dem Git-Repository entsprechen und Container-Images mit einem hohen Niveau an Security und Zuverlässigkeit verwaltet und konfiguriert werden.

Ohne Kubernetes sind Orchestrierung und Automatisierung von Containern herausfordernder und es ist mehr manuelles Coding notwendig.

Anwendungsbereitstellung mit Ansible realisieren

Ansible ist eine Open-Source-Automatisierungssoftware von Red Hat. Sie nutzt eine einfache Script-Sprache, um die Automatisierung und Konfiguration aller Maschinen im Netzwerk durchzuführen.

Ansible funktioniert auf Controller-Node-Basis. Im Gegensatz zu anderen Varianten dieses Prinzips müssen Adminstratoren allerdings auf einem Node keinen Client installieren. Ansible kommuniziert via Secure Shell (SSH) mit den Nodes. Administratoren können Aufgaben in sogenannten Playbooks speichern, die sich wiederholen lassen. Sie können sogar unternehmensweite Protokolle ausrollen.

Abbildung 3: Ansible-Integration in Rundeck
Abbildung 3: Ansible-Integration in Rundeck

Eine Automatisierung mit Ansible hilft beim Einsatz von Applikationen. Sie können weiterhin Workflow-Orchestrierung optimieren, Systemkonfigurationen verwalten und wiederkehrende Aufgaben in automatische Jobs umwandeln. Das spart Zeit.

Die einzige Einschränkung von Ansible ist, dass kein Bare Metal Provisioning oder Bereitstellung von virtuellen Maschinen (VM) möglich ist. Wollen Admins nicht mit der Kommandozeile arbeiten, haben sie die Möglichkeit, die GUI eines Drittanbieters einzusetzen. Rundeck kann zum Beispiel Ansible Playbooks ausführen.

Nächste Schritte

Vergleich von Bare-Metal-Hypervisoren

Zehn Systeme für Containermanagement

Virtualisierung von Linux mit Hyper-V

Erfahren Sie mehr über Containervirtualisierung