Dieses Dokument bietet einen Überblick über den Managed Harbor Service (MHS) in Google Distributed Cloud (GDC) mit Air Gap.
MHS ist eine vollständig verwaltete Container-Registry, die auf dem Open-Source-Projekt Harbor basiert. Durch die Integration von MHS in Ihre GDC-Umgebung können Sie den Lebenszyklus Ihrer Containerartefakte in isolierten Umgebungen sicher und skalierbar verwalten, ohne dass eine manuelle Wartung erforderlich ist.
In dieser Übersicht werden die grundlegenden Konzepte für die Arbeit mit MHS in GDC Air-Gapped vorgestellt, einschließlich der Beziehung zwischen GDC-Projekten und Harbor-Instanzprojekten. Außerdem werden die administrativen Grenzen zwischen IAM-Rollen (Identity and Access Management) auf Infrastrukturebene und RBAC (Role-Based Access Control) auf Registrierebene sowie Kernfunktionen wie die automatische Garbage Collection und die Dienstleistungsgrenzen beschrieben.
Dieses Dokument richtet sich an Entwickler in den Gruppen „Plattformadministrator“ oder „Anwendungsoperator“, die MHS in GDC verwenden und verwalten. Weitere Informationen finden Sie in der Dokumentation zu Zielgruppen für GDC mit Air Gap.
Funktionsweise von Managed Harbor Service in GDC
Betriebsebenen
GDC MHS arbeitet auf zwei verschiedenen funktionalen Ebenen der Netzwerkarchitektur. Jede Ebene ermöglicht bestimmte Vorgänge:
- Management-Plane-Ebene: Hier können Sie Harbor-Registry-Instanzen erstellen und löschen.
- Datenebene: Hier können Sie Container-Images in Ihre Harbor-Instanz übertragen und daraus abrufen.
Unterschiede zwischen GDC-Projekten und Harbor-Instanzprojekten
Der verwaltete Harbor-Dienst umfasst zwei verschiedene Projekttypen. Wenn Sie die Interaktion zwischen diesen Einheiten verstehen, können Sie Ressourcen und Zugriffssteuerungen auf der entsprechenden Ebene verwalten:
GDC-Projekt: Die Organisationseinheit für die Infrastrukturverwaltung. Damit können Sie die Harbor-Registry-Instanz zusammen mit anderen GDC-Ressourcen wie VMs und Clustern verwalten.
- Einschränkungen: Ein GDC-Projekt kann nur eine Harbor-Instanz enthalten. Diese einzelne Instanz kann jedoch für mehrere GDC-Projekte freigegeben werden, um eine zentrale Registrierung für Ihre Umgebung zu ermöglichen.
- Zugriff: Erfordert IAM-Rollen auf GDC-Projektebene für das Erstellen, Verwalten und Ausführen von Verwaltungsaufgaben für Instanzen.
Harbor-Instanzprojekt: Eine logische Gruppierung für die Artefaktverwaltung, die in einer Harbor-Instanz vorhanden ist. Damit können Sie Container-Images und den Zugriff auf Repository-Ebene organisieren.
- Limits: Eine Harbor-Instanz unterstützt mehrere Harbor-Projekte. Sie können einzelnen Teams oder Nutzern zugewiesen werden, um die Mandantenfähigkeit in einer gemeinsam genutzten Registry zu ermöglichen.
- Zugriff: Erfordert registrierungsspezifische RBAC-Rollen, um Repositorys zu verwalten, administrative Aufgaben auszuführen und den Artefaktzugriff im Projekt zu steuern.
Features
Harbor ist ein Open-Source-Projekt, das von der Cloud Native Computing Foundation (CNCF) als „graduated“ eingestuft wurde. Es bietet eine integrierte Cloud-Container-Registry-Lösung für Kubernetes und Docker. Mit der Integration von verwalteten Diensten können Sie eine Harbor-Instanz bereitstellen, um Artefakte auf GDC zu speichern und zu verwalten. MHS bietet die folgenden Funktionen:
- Harbor-Instanzen werden automatisch von GDC bereitgestellt und verwaltet.
- Harbor ist in das IAM von GDC für Authentifizierungs- und Observability-Systeme eingebunden.
- Harbor-Instanzen können auf die neuere stabile Version aktualisiert werden.
- Harbor wurde verbessert, um die Compliance- und Qualitätsanforderungen von GDC zu erfüllen.
- Eine Harbor-Instanz ist eine zonale Ressource. Sie wird in einer Zone bereitgestellt, ist aber von allen Zonen innerhalb der GDC-Bereitstellung aus zugänglich.
Identity and Access Management (IAM)
Die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) für den Managed Harbor Service wird sowohl auf GDC-Projektebene als auch auf Harbor-Registry-Projektebene angewendet. Nutzer mit den entsprechenden IAM-Rollen können auf eine Harbor-Instanz in einem GDC-Projekt zugreifen und sie verwalten. Nutzer mit den entsprechenden Harbor-Registrierungsrollen können Artefakte verwalten und administrative Aufgaben in einem Harbor-Projekt ausführen.
IAM-Rollen für GDC-Projekte
GDC weist Berechtigungen auf Projektebene mithilfe von GDC-IAM-Rollen zu. Suchen Sie in Ihrem MHS-Verfahrensdokument nach den erforderlichen Rollen und bitten Sie Ihren IAM-Administrator der Organisation, Ihnen Zugriff zu gewähren.
Informationen zum Ausführen von Infrastructure Operator-Vorgängen (IO) finden Sie in den GDC MHS-Servicehandbüchern. Dort sind die für Ihre Aufgaben erforderlichen IAM-Rollen aufgeführt.
Harbor-Registrierungs-Projektrollen
Für ein Harbor-Projekt wird ein eigener Satz von RBAC-Mechanismen verwendet, die sich von GDC-IAM-Rollen unterscheiden.
Zum Verwalten von Harbor-Registrierungsprojekt-Repositories und ‑Artefakten muss Ihnen die richtige Harbor-Rolle auf Harbor-Projektebene zugewiesen sein. Eine Liste der Harbor-Rollen finden Sie im Harbor-Dokument zum Verwalten des Nutzerzugriffs: https://goharbor.io/docs/2.8.0/administration/managing-users/.
Leistung
Google hat MHS getestet und bestätigt, dass die in Systemlimits angegebenen Grenzwerte unterstützt werden.
Die tatsächlichen Leistungsgrenzen können höher sein.
Automatische Speicherbereinigung
Wenn Sie MHS verwenden, um Bilder in der Registry hinzuzufügen und zu löschen, können sich im Laufe der Zeit ungenutzte Daten ansammeln. Um die Speicherressourcen nicht zu belasten, führt MHS alle 12 Stunden automatisch eine automatische Speicherbereinigung durch. Sie müssen die Garbage Collection nicht manuell konfigurieren.
Nächste Schritte
Wenn Sie MHS aktivieren und verwenden möchten, lesen Sie die folgenden Dokumente:
- Harbor-Registry-Instanzen erstellen
- Harbor-Instanzprojekte erstellen
- Harbor-Registry-Instanzen verwalten