'Datenbanken' lautet der Schwerpunkt der Dezember-Ausgabe des IT-Administrator. Darin werfen wir einen Blick auf den Firewall-Schutz und das ... (mehr)

Den ersten Test anstossen

Der letzte Schritt ist, den "uphold-ui"-Container in Docker manuell zu starten, damit er die restlichen Container ausrollen kann. Im ersten Schritt lädt der Administrator das Abbild des "uphold-ui"- Containers in die lokale Docker-Installation, im zweiten startet er dann den eigentlichen Container:

docker pull forward3d/uphold-ui:latest
$ docker run --rm -p 8079:8079 -v /var/run/docker.sock: /var/run/docker.sock -v /etc/uphold:/etc/uphold -v /var/log/uphold:/var/log/uphold forward3d/uphold-ui:latest

Der Parameter "--rm" beim "run"-Befehl sorgt dafür, dass Docker eventuell bereits laufende Instanzen der Container vorher löscht. Die diversen Werte hinter "-v" weisen Docker an, die genannten Verzeichnisse und Dateien in den Docker-Container an gleicher Stelle im Dateisystem durchzuschleifen. Im laufenden "uphold-ui"-Container findet sich nach diesem Befehl also eine Datei namens "/var/run/docker.sock", also die Socket-Datei des Daemons, der Docker auf dem Host-System steuert. So hat Uphold die Option, aus dem einen Container heraus einen anderen per Docker auf dem Host-System zu starten. Die Angabe hinter "-p" legt fest, über welchen TCP/IP-Port Uphold nach dem Container-Start zu erreichen ist. Spezifisch gemeint ist hier die API, die zu Uphold gehört und sich von außen abfragen lässt.

Die Arbeit mit der Uphold-API

Uphold bringt eine eigene API mit, die dem ReSTful-Prinzip folgt und von außen Befehle annimmt (Bild 5). So lässt sich auch ein Backup-Lauf starten, um ein Backup zu verifizieren:

curl --data "name=mysql-production" http://Container-IP/api/1.0/backup

ist ein passendes Beispiel mit curl, wobei "Container-IP" hier durch die IP-Adresse des Containers mit der Uphold-API zu ersetzen ist. Wer einen Überblick über die vorhandenen

Backups und bereits durchgeführten Tests sehen möchte, braucht eine andere URL:

curl http://Container-IP/api/1.0/backups/Name-der-Konfiguration

Erneut ist "Container-IP" durch die IP des Containers mit der Uphold-API zu ersetzen; "Name-der-Konfiguration" ist durch die Backup-Konfiguration in "/etc/uphold/conf.d" zu ersetzen, etwa "mysql-production". Der Name muss mit dem Parameter des "name"-Feldes in jener Datei übereinstimmen. Interessant ist bei der Ausgabe der Wert hinter "state" (Bild 5): Ist er "ok", war die Verifikation erfolgreich und das Backup gilt als konsistent. Ist ein anderer Wert gegeben, sollte der Admin tunlichst nachschauen, was beim Test fehlgeschlagen ist: Auf dem Host-System, auf dem die Docker-Container laufen, finden sich im Beispiel in "/var/log/uphold" die Logdateien der durchgeführten Tests. Diese liefern erste Anhaltspunkte für existierende Probleme.

Wer statt per API lieber farbig angezeigt bekommen möchte, wie die Tests abgelaufen sind, hat dafür in Uphold Zugriff auf ein Webinterface. Es ist aus einem Browser heraus zu erreichen, indem der Admin einfach die IP des "uphold-ui"- Containers in die Adressezeile eingibt und diese öffnet. Ein Klick auf die einzelnen Einträge bietet zusätzliche Informationen zum jeweiligen Testlauf.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023