Von Container Registry wechseln

Artifact Registry ist der empfohlene Dienst zum Speichern und Verwalten von Container-Images in Google Cloud. Als vollständig verwalteter Dienst, der sowohl Container-Images als auch Nicht-Container-Artefakte unterstützt, erweitert Artifact Registry die Funktionen von Container Registry.

Wenn Sie derzeit Container Registry verwenden, nutzen Sie die Informationen auf dieser Seite, um mehr über die Umstellung auf Artifact Registry zu erfahren. Container Registry ist weiterhin verfügbar und wird als Google Enterprise API unterstützt. Neue Funktionen sind jedoch nur in Artifact Registry verfügbar. Container Registry erhält nur kritische Sicherheitsupdates.

Übersicht

Artifact Registry bietet dieselben Containerverwaltungsfunktionen wie Container Registry sowie zusätzliche Funktionen und Vorteile:

Zusätzliche Artefaktformate

Sie können Repositories für die folgenden Artefaktformate erstellen:

Regionale Repositorys

Container Registry bietet nur multiregionale Registrierungshosts. Artifact Registry bietet sowohl regionale als auch multiregionale Registry-Hosts an.

Mehrere separate Repositories an einem Ort

In Container Registry lässt sich nur ein einzelner Registry-Host in einer multiregionalen Region erstellen. Alle Repositories in der Registry teilen sich dann denselben Storage-Bucket. In Artifact Registry ist jedes Repository eine separate Ressource. Sie können auf jedes Repository verschiedene Labels sowie Richtlinien zur Identitäts- und Zugriffsverwaltung anwenden.

Berechtigungen auf Repository-Ebene

In Container Registry gewähren Sie Berechtigungen für jeden multiregionalen Registry-Host. Sie können keine separaten Berechtigungen auf Repository-Ebene anwenden. Artifact Registry bietet Zugriff auf Repository-Ebene.

Artifact Registry-IAM-Rollen

In Container Registry verwenden Sie Cloud Storage-Rollen, um den Zugriff zu steuern. Dabei muss ein Image an einen Registry-Host übertragen werden, bevor Sie Berechtigungen für den Host konfigurieren können. In Artifact Registry verwenden Sie Artifact Registry-Rollen, um Zugriff zu gewähren. Es gibt eine klare Trennung zwischen den Rollen „Repository Administrator“ und „Repository User“.

Google Kubernetes Engine-Image-Streaming

GKE kann Daten aus geeigneten Images, die von Ihren Anwendungen angefordert werden, streamen. So können Arbeitslasten initialisiert werden, ohne auf den Download des gesamten Images warten zu müssen. Image-Streaming ermöglicht schnelleres Autoscaling, schnelleres Starten von Pods und eine geringere Latenz beim Abrufen großer Images.

Cloud Run-Quellbereitstellung

Stellen Sie neue Dienste und neue Überarbeitungen mit einem einzigen Google Cloud CLI-Befehl direkt aus Quellcode in Cloud Run bereit. Bei der Quellbereitstellung wird ein Container-Image aus dem Code erstellt, in Artifact Registry gespeichert und in Cloud Run bereitgestellt.

Abwärtskompatibilität und Koexistenz

Sie können Artifact Registry und Container Registry im selben Projekt verwenden. Wenn Sie eine Liste der Repositories mit gcloud oder der Google Cloud Console aufrufen, listet Artifact Registry auch Container Registry-Repositories im selben Projekt auf.

Sie können Ihre Container und Ihre Automatisierung auf Artifact Registry umstellen, um die erweiterten Funktionen von Artifact Registry zu nutzen.

Optionen für die Umstellung

Sie können mit einer dieser Optionen auf Artifact Registry umstellen:

Standard-Repositories (empfohlen)
Reguläre Artifact Registry-Repositories, die alle Features unterstützen und unabhängig von vorhandenen Container Registry-Hosts sind.
Repositories mit Unterstützung für gcr.io-Domains

Spezielle Repositories, die Container Registry-gcr.io-Hostnamen zugeordnet sind. Diese Repositories unterstützen:

  • gcloud container images-Befehle
  • Der Traffic von gcr.io-Hostnamen wird an die entsprechenden gcr.io-Repositories in Ihrem Projekt weitergeleitet.

Für diese Repositories gelten einige Funktionseinschränkungen. Wenn Sie jedoch viele Toolkonfigurationen, Skripts oder Code mit gcr.io-Referenzen haben, ist ein taktischerer Ansatz für die Umstellung auf Artifact Registry möglicherweise erforderlich.

Beide Arten von Repositories können gleichzeitig vorhanden sein, sodass Sie schrittweise wechseln können. Beispiel:

  • Sie können gcr.io-Repositories in Artifact Registry erstellen, um die vorhandene Container Registry-Einrichtung umzustellen und Standard-Repositories für neue Aufgaben zu erstellen.
  • Sie können Ihren Übergang in mehreren Phasen vornehmen. Wechseln Sie zu gcr.io-Repositories in Artifact Registry und wechseln Sie dann schrittweise zur Verwendung von Standard-Repositories, während Sie Ihre Automatisierung aktualisieren, um das Artifact Registry-Repository und die Image-Pfade vollständig zu unterstützen.

Repositories einrichten

In Artifact Registry müssen Sie Repositories erstellen, bevor Sie Images per Push übertragen können. Ein wichtiger Teil der Umstellung auf Artifact Registry ist das Einrichten von Artifact Registry-Repositories und die Integration in Ihre CI/CD-Automatisierung.

Um die Flexibilität zu erhöhen, gibt es einige Änderungen in der Darstellung von Repositories von Artifact Registry.

Container Registry

Jeder multiregionale Standort ist einem einzelnen Storage-Bucket zugeordnet. Das Organisieren Ihrer Images in Repositories unter einem Hostnamen ist optional. Im folgenden Beispiel wird das Image webapp an drei Speicherorten angezeigt:

us.gcr.io/my-project/webapp
us.gcr.io/my-project/team1/webapp
us.gcr.io/my-project/team2/webapp

Repositories dienen nur zur Organisation und schränken den Zugriff nicht ein. Jeder Nutzer mit Zugriff auf den Storage-Bucket für us.gcr.io in diesem Projekt kann auf alle Versionen des Container-Images webapp zugreifen.

Artifact Registry

Jedes Repository ist eine separate Ressource in Ihrem Projekt. Da jedes Repository eine eindeutige Ressource ist, haben Sie folgende Möglichkeiten:

  • Jedem Repository einen Namen, eine Beschreibung und Labels zuweisen
  • Mehrere Repositories am selben Speicherort erstellen
  • Repository-spezifische Berechtigungen konfigurieren

Außerdem kann der Speicherort eines Repositorys eine Region oder mehrere Regionen sein.

Mit diesen Änderungen haben Sie mehr Kontrolle über Ihre Repositories. Wenn Sie beispielsweise Teams in São Paulo und Sydney haben, können Sie für jedes Team in einer Region, die geografisch näher am nächsten multiregionalen Standort liegt, ein Repository erstellen.

southamerica-east1-docker.pkg.dev/my-project/team1/webapp
australia-southeast1-docker.pkg.dev/my-project/team2/webapp

Sie können dann jedem Team nur die Berechtigungen für das Team-Repository erteilen.

Eine Anleitung zum Wechsel zu Artifact Registry finden Sie im Einrichtungsleitfaden.

Images hoch- und herunterladen

Die folgenden Informationen helfen Ihnen beim Anpassen vorhandener Konfigurationen, Befehle und Dokumentationen für Container Registry. Mit den folgenden Informationen können Sie Images erstellen, per Push übertragen, abrufen und bereitstellen.

Featurevergleich

In diesem Abschnitt werden Änderungen und Verbesserungen der Container Registry-Features zusammengefasst.

Feature Container Registry Artifact Registry
Unterstützte Formate Nur Container-Images Mehrere Artefaktformate wie Container-Images, Sprachpakete und Betriebssystempakete
Repositories
  • Erstellung: Erstellt ein Repository automatisch an einem multiregionalen Standort, wenn Sie noch kein Image dorthin verschoben haben.
  • Standort: nur multiregionale Repositories.
  • Organisation: Alle Repositories auf demselben multiregionalen Host in einem Google Cloud-Projekt teilen sich einen einzigen Storage-Bucket.
  • Zugriffssteuerung: Sie können Berechtigungen auf Projektebene oder im Storage-Bucket für jeden multiregionalen Host erteilen.
  • Erstellung: Sie müssen ein Repository erstellen, bevor Sie Images per Push übertragen.
  • Standort: Erstellen Sie Standard-Repositories in einer Multiregion oder Region. Beispiel: Die nächste Multiregion für Australien ist Asien. Mit regionaler Unterstützung können Sie ein Repository im Sydney-Rechenzentrum erstellen.
  • Organisation: Sie können mehrere, separate Repositories in jeder Region oder Mehrfachregion erstellen. Mithilfe von Labels können Sie sie nach Team, Entwicklungsphase oder anderen Kategorien gruppieren.
  • Zugriffssteuerung: Sie können Berechtigungen für das Projekt oder für einzelne Repositories erteilen.
Hostnamen Hosts sind in der Domain gcr.io. Hosts sind in der Domain pkg.dev. Weitere Informationen zum Namensformat finden Sie unter Repository- und Artefaktnamen.

Mit der Unterstützung für gcr.io-Domains können Sie Traffic von Ihren gcr.io>-Hosts automatisch an entsprechende Artifact Registry-Repositories im selben Projekt weiterleiten.

Berechtigungen
  • Gewähren Sie Zugriff mit Cloud Storage-Berechtigungen.
  • Sie können den Zugriff auf alle Images beschränken, die in mehreren Regionen gespeichert sind, aber nicht auf einzelne Repositories. Sie können beispielsweise den Zugriff auf us.gcr.io im Projekt my-project einschränken, aber keine Berechtigungen für Images unter us.gcr.io/my-project/team1 und us.gcr.io/my-project/team2 gewähren.
Authentifizierung Stellt mehrere Authentifizierungsmethoden zum Übertragen und Abrufen von Images mit einem Client eines Drittanbieters bereit. Artifact Registry unterstützt dieselben Authentifizierungsmethoden wie Container Registry. Weitere Informationen finden Sie unter Authentifizierung für Docker einrichten.

Wenn Sie Docker Credential Helper verwenden:

  • Version 2.0.0 oder höher ist erforderlich.
  • Docker-Client-Versionen vor Version 18.03 werden nicht mehr unterstützt.
  • Sie müssen die Artifact Registry-Standorte hinzufügen, die Sie in der Konfiguration von Credential Helper verwenden werden.
Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) Verschlüsseln Sie Ihre der Storage-Buckets, die Ihre Images enthalten, mit CMEK. Verschlüsseln Sie einzelne Repositories mit CMEK.
Über die Google Cloud Console Container Registry-Images im Bereich Container Registry der Google Cloud Console ansehen und verwalten. Eine Liste der Artifact Registry- und Container Registry-Repositories finden Sie in der Google Cloud Console im Abschnitt Artifact Registry. Sie können die Artifact Registry-Repositories und -Images von dieser Seite aus verwalten.

Wenn Sie auf ein Container Registry-Repository klicken, werden Sie zur Liste der Images im Abschnitt Container Registry der Google Cloud Console weitergeleitet.

gcloud- und API-Befehle verwenden Verwendet gcloud container images-Befehle. Befehle unterstützen verkürzte Digests. Wenn Sie den vollständigen Digest-String nicht angeben, versucht Container Registry, anhand des Teilstrings das richtige Image zu finden. Verwendet gcloud Artefakt-Docker-Befehle. Befehle unterstützen verkürzte Benachrichtigungen.

Einen Vergleich der gcloud-Befehle von Container Registry und Artifact Registry finden Sie unter gcloud command comparison.

Artifact Registry enthält auch eine API zum Verwalten von Repositories und Artefakten in allen Formaten.

Pub/Sub-Benachrichtigungen Änderungen am Thema gcr veröffentlichen. Änderungen am Thema gcr veröffentlichen. Wenn Sie Repositories im selben Projekt wie Ihren vorhandenen Container Registry-Dienst erstellen, funktioniert Ihre vorhandene Pub/Sub-Konfiguration automatisch.

Weitere Informationen finden Sie unter Pub/Sub-Benachrichtigungen konfigurieren.

Im Cache gespeicherte Docker Hub-Images Speichert die am häufigsten angeforderten Docker Hub-Images auf mirror.gcr.io im Cache. mirror.gcr.io speichert weiterhin häufig angeforderte Images vom Docker Hub im Cache.
VPC Service Controls Sie können einem Dienstperimeter Container Registry hinzufügen. Sie können einem Dienstperimeter eine Artifact Registry hinzufügen.
Metadaten speichern und analysieren Container Analysis bietet Metadatenspeicher, das Scannen auf Sicherheitslücken und die Integration in Dienste, die Metadaten wie Binärautorisierung verwenden. Google Cloud CLI-Befehle zum Arbeiten mit Notizen und Vorkommen befinden sich in der Gruppe gcloud-Container-Images. Container Analysis unterstützt das Speichern von Metadaten und das Scannen auf Sicherheitslücken von Container-Images in Artifact Registry und Container Registry.
  • Beide Produkte verwenden dieselben Container Analysis APIs. Wenn Sie Container Analysis APIs in Container Registry oder Artifact Registry aktivieren, sind die APIs für beide Produkte aktiviert.
  • Beide Produkte verwenden dieselben Pub/Sub-Themen für Benachrichtigungen in Container Analysis. Ihre bestehenden Abos enthalten Benachrichtigungen für Artifact Registry und Container Registry.
  • gcloud-Befehlszeilenbefehle zum Arbeiten mit Hinweisen und Vorkommen befinden sich in der Gruppe gcloud Artefakte-Docker.
Von Google bereitgestellte Images Von Google bereitgestellte Images werden auf gcr.io gehostet. Hier einige Beispiele: Von Google bereitgestellte Images sind weiterhin auf gcr.io verfügbar.
Image-Streaming Nicht verfügbar GKE kann Daten von infrage kommenden Images in Artifact Registry streamen, um schnelleres Autoscaling, schnelleres Starten von Pods und eine reduzierte Latenz beim Abrufen großer Images zu ermöglichen.
Cloud Run-Quellbereitstellung Nicht verfügbar In einem Quell-Deployment können Sie mit einem einzigen gcloud-Befehl ein Container-Image aus dem Quellcode erstellen, das Image in Artifact Registry speichern und in Cloud Run bereitstellen.
Preise Die Container Registry-Preise basieren auf der Nutzung von Cloud Storage, einschließlich Speicher und ausgehendem Netzwerktraffic. Artifact Registry hat eigene Preise basierend auf Speicher und ausgehenden Netzwerktraffic.