Software Repository Management mit Pulp

Im Rahmen seiner Individuellen Praxisarbeit hat Philipp Gassmann das Software Repository Management bei Puzzle neu aufgesetzt. Lesen Sie, zu was unsere Lernenden alles fähig sind.

Puzzle ITC setzt als Serverbetriebssystem ausschliesslich Red Hat Enterprise Linux -basierte Distributionen ein. Diese verwenden das Yum/RPM-Paketmanagementsystem. Für die Installation von Programmen und Systemkomponenten werden dabei Pakete aus einem Repository bezogen, über welches auch Updates ausgeliefert werden.

Ausgangslage: Ablösung des Cobbler Repository-Mirrors

Bei einer grösseren Menge von Linux-Servern lohnt es sich, die unterschiedlichen Repositories im eigenen Rechenzentrum zu spiegeln. So beziehen die Linux-Server die Daten direkt von einem Server im lokalen Netz.
Die bisherige Umsetzung dieses Repository-Mirros mit Cobbler ist nicht mehr auf dem aktuellen Stand der Entwicklung und bietet nicht mehr die erwünschte Flexibilität.

Repository Server mit Pulp

Im Rahmen der Individuellen Praxisarbeit (IPA) habe ich deshalb einen neuen Repository-Server mit Pulp eingerichtet. Pulp ist Teil einer grösseren Strategie von Red Hat, welche das ganze System-Management umfasst. Zusätzlich zum Repository-Mirror im Rechenzentrum (Pulp-Server) wird am Bürostandort ein Pulp Content Distribution Server (CDS) eingerichtet. Der CDS ist ein Bestandteil des Pulp-Projekts, mit dem die Last auf mehrere Server verteilt werden kann. Ebenfalls können damit die Repositories an einem entfernten Standort lokal zur Verfügung gestellt werden.

Die Anforderungen wurden mit der Projektmanagement-Methode Scrum in mehreren Phasen geplant und umgesetzt.

Als Erstes wurde dabei der Pulp-Server eingerichtet. Dies umfasste die Installation des Server-Dienstes, die Initialisierung sowie auch die Konfiguration des Administrations-Tools. Über dieses Administrations-Tool können auf dem Pulp-Server Repositories konfiguriert werden. Dabei kann ein Repository von einer externen Quelle synchronisiert werden oder es wird ein lokales Repository definiert, in welches eigene Pakete hochgeladen werden.

Puppet für die Synchronisation, Zenoss für das Monitoring

Die Installation und Verwaltung dieser Umgebung wird dabei mit dem Konfigurationsmanagement Framework Puppet definiert. Anstelle vom manuellen Erfassen und Synchronisieren aller Repositories lassen sich diese mit Puppet mit wenigen Parametern vollständig automatisiert einrichten.

Die Synchronisation von den externen Quellen wird mit der Monitoring-Software Zenoss und einem selbst entwickelten Shell-Skript auf Aktualität überwacht. Als dritter Schritt wurde am Bürostandort ein Content Delivery Server eingerichtet, der die Repository-Daten vom Pulp-Server bezieht und den Servern an diesem Standort zur Verfügung stellt.

Systemübersicht_Web

 

Cobbler wird vorläufig weiterhin für die automatisierte Installation der Linux-Server verwendet. Die dafür benötigten Daten werden jedoch vom Pulp-Server bezogen und nicht mehr auf dem Cobbler-Server gespiegelt.

Alle Module sind Open Source verfügbar

Die Puppet-Definitionen für die Pulp-Umgebung stehen – wie alle Puppet-Module, die von Puzzle ITC verwendet und entwickelt werden – Open Source zur Verfügung. Für Fragen zur Verwendung von Puppet und den Modulen steht Ihnen unser System-Engineering-Team gerne zur Verfügung.

Kommentare sind geschlossen.