Cloud-native: Harbor Operator erreicht die produktionsreife Version 1.0

Der Operator soll den Betrieb der Container-Registry-Implementierung Harbor in produktiven Kubernetes-Umgebungen weitgehend automatisieren.

Lesezeit: 3 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag
Cloud-native: Harbor Operator erreicht die produktionsreife Version 1.0

(Bild: Maren G. Bergmann, gemeinfrei)

Von
  • Matthias Parbel

Das Harbor-Team hat die erste Hauptversion des Harbor Operator freigegeben. Die zu den Vorgaben der Open Container Initiative (OCI) konforme Container-Registry-Implementierung Harbor bündelt Servicekomponenten, mit denen Entwicklerinnen und Entwickler Artefakte wie Container-Images, Helm-Charts oder Open Policy Agents leichter verwalten können. Über benutzerdefinierte Controller und Custom Resource Definitions (CRDs) erweitert der Harbor Operator 1.0 die Kubernetes-Kontrollebene zu einer deklarativen API, die nicht nur eine weitgehende Automatisierung, sondern auch den Betrieb mehrerer Instanzen der Registry erlaubt.

Während Harbor typischerweise auf YAML-Dateien und das Deployment via Helm Charts baut, geht der Harbor Operator einen Schritt weiter und ermöglicht die individuelle Konfiguration der CRD HarborCluster, mit der sich der komplette Registry-Stack inklusive Kernkomponenten und zugehöriger Datenbank-, Cache- sowie Backend-Storage-Services definieren lässt. Dadurch erhalten Entwicklerinnen und Entwickler die Möglichkeit, ihren Harbor-Stack auf Basis der CR Harbor maßgeschneidert an die Betriebsumgebung anzupassen und die Verwaltung weitestgehend zu automatisieren.

Soll der Harbor Operator beispielsweise die abhängigen Dienste gemeinsam mit Harbor-Komponenten wie Notary, Trivy, ChartMuseum und Metrics Exporter im Kubernetes-Cluster bereitstellen, lassen sich die dafür notwendigen Anforderungen in den jeweiligen Einstellungen der Datenbank- (inClusterDatabase), Cache- (inClusterCache) sowie Backend-Storage-Services (inClusterStorage) vornehmen. Obwohl grundsätzlich auch verschiedene Backend-Storage-Konfigurationen wie Amazon S3 und OpenStack Swift unterstützt werden und das Harbor-Team künftig weitere Operator von Drittanbietern in anderen Bereichen validieren und ergänzen möchte, stehen standardmäßig derzeit nur zalando postgreSQL, spotahome redis und Minio als In-Cluster-Dienste zur Verfügung.

Die Architektur des Harbor Operator im Überblick.

(Bild: CNCF)

Den Frontend-Service legt der Harbor Operator über Ingress (CRD-Version: v1beta1) offen. Neben dem Standard-Ingress-Controller Nginx sind bereits das NSX-T Container Plug-in ncp sowie gce (Google Cloud Engine) validiert. Weitere Ingress Controller wie Contour sollen in den nächsten Releases folgen. Zum Erstellen und Verwalten der von den Harbor-Cluster-Komponenten benötigten Zertifikate setzt der Operator auf das CNCF-Projekt cert-manager.

Weitergehende Details zu Harbor Operator 1.0 finden sich im CNCF-Blogbeitrag zur Freigabe des Major Release sowie im GitHub Repository des Projekts.

Die vor allem auf Sicherheit und Skalierbarkeit ausgelegte Container-Registry-Implementierung geht ursprünglich auf eine Entwicklung von VMware zurück, befindet sich aber seit rund drei Jahren unter Verwaltung durch die Cloud Native Computing Foundation (CNCF). Dort hat sie 2020 den Status eines Graduated Project und damit den höchsten Reifegrad bei der CNCF erreicht.

(map)