Automatisiertes Service-Deployment mit Pyinfra

Schlangenöl

Das noch recht junge Werkzeug Pyinfra richtet halbautomatisch beliebig viele Server maßgetreu ein. Im Gegensatz zu ähnlichen Konkurrenzprogrammen lässt sich Pyinfra jedoch mit Python-Skripten steuern und in eigene Python-Programme einbinden.
Skripte können Administratoren das Leben deutlich leichter machen - besonders, wenn sich wiederholende Abläufe im Spiel sind. Dabei steht eine Vielzahl an ... (mehr)

Ähnlich wie Otto oder Puppet [1] vereinfacht Pyinfra die Einrichtung mehrerer Server und das Deployment von Diensten. Der Administrator notiert zunächst in einer Konfigurationsdatei, welche Dienste auf welchem Server laufen sollen. Anschließend vergleicht Pyinfra diese Angaben mit dem aktuellen Zustand des Servers. Bei einer Abweichung ändert Pyinfra automatisch die Server-Konfiguration beziehungsweise startet und stoppt Dienste.

Möchte der Admin etwa auf allen Datenbankservern MySQL durch die Kollegin MariaDB ersetzen, notiert er dies in der entsprechenden Konfigurationsdatei, startet Pyinfra und lehnt sich gemütlich zurück. Den gesamten Einrichtungs- und Deployment-Vorgang können Administratoren flexibel und detailliert mit Python-Programmcode steuern. Das Tool bietet sogar eine API, über die es sich in eigene Python-Anwendungen integrieren lässt. Um Pyinfra nutzen zu können, müssen Anwender aber keine Python-Gurus sein. Die Entwickler versprechen, dass das Deployment asynchron und hoch performant abläuft. Pyinfra untersteht der liberalen MIT-Lizenz und ist komplett in Python geschrieben.

Drei Wermutstropfen gibt es allerdings: Pyinfra kann derzeit nur Server anpassen, auf denen ein Linux-System läuft. Des Weiteren müssen die Server zwingend per SSH erreichbar sein und eine Shell bereitstellen. Im Gegenzug ist kein spezieller Server-Dienst beziehungsweise Daemon notwendig, wie ihn etwa Puppet voraussetzt. Schließlich befindet sich das Tool noch ganz am Anfang seiner Entwicklung. Die folgenden Ausführungen beziehen sich auf die zum Redaktionsschluss aktuelle Version 0.1.dev10. Wie das "dev" anzeigt, können sich der Funktionsumfang und die Programmier-API noch ändern. Administratoren sollten sich folglich zwei Mal überlegen, ob sie das Tool in diesem Stadium auf einen produktiven Server loslassen.

Installation

Um Pyinfra nutzen zu können, benötigen

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite