Wenn Sie Helm 3-Diagramme als OCI-Container-Images speichern, können Sie sie wie Docker-Images in Artifact Registry verwalten. Sie können Diagramme hochladen (Push), herunterladen (Pull), auflisten, taggen und löschen, um ihren Lebenszyklus in Ihren Repositories zu verwalten.
Hinweis
- Wenn das Ziel-Repository nicht vorhanden ist, erstellen Sie ein neues Repository. Wählen Sie Docker als Repository-Format aus.
- Prüfen Sie, ob Sie die erforderlichen Berechtigungen für das Repository haben.
- (Optional) Konfigurieren Sie die Standardeinstellungen für Google Cloud CLI-Befehle.
Installieren Sie Helm 3.8.0 oder höher. In früheren Versionen von Helm ist die Unterstützung von Diagrammen im OCI-Format eine experimentelle Funktion.
Führen Sie
helm versionaus, um Ihre Version zu prüfen.Konfigurieren Sie Helm für die Authentifizierung bei Artifact Registry.
Diagramm erstellen oder abrufen
In dieser Dokumentation geht es um die Verwaltung Ihrer Diagramm-Images. Es wird davon ausgegangen, dass Sie bereits Diagramme haben oder mit dem Erstellen von Diagrammen vertraut sind. Weitere Informationen zum Erstellen von Diagrammen oder zum Abrufen öffentlich verfügbarer Diagramme in Artifact Hub finden Sie in der Helm-Dokumentation.
- Unter Helm verwenden wird beschrieben, wie Sie Diagramme aus dem öffentlichen Artifact Hub abrufen und ein Diagramm vor der Installation anpassen.
- Unter Diagramme werden Diagramme und das Erstellen von Diagrammen beschrieben.
- Im Leitfaden zu Best Practices für Diagramme werden Konventionen und Best Practices beschrieben.
Diagramm verpacken
Bevor Sie ein Diagramm per Push an Artifact Registry übertragen können, müssen Sie es als Diagramm-Archiv verpacken.
Wechseln Sie in das Verzeichnis, das Ihr Diagramm enthält.
Verpacken Sie das Diagramm.
helm package CHART-PATHErsetzen Sie CHART-PATH durch den Pfad zu dem Verzeichnis, das Ihre
Chart.yaml-Datei enthält.
Helm verwendet den Diagrammnamen und die Version für den Archivdateinamen. Wenn Sie beispielsweise ein Diagramm mit dem Namen my-chart und der Versionsnummer 0.1.0 haben, lautet der Paketname my-chart-0.1.0.tgz.
Sie können das Diagramm jetzt per Push an Artifact Registry übertragen.
Diagramm per Push übertragen
Nachdem Sie das Diagramm gepackt haben, können Sie es in Artifact Registry übertragen.
Führen Sie den folgenden Befehl aus, um das Diagramm hochzuladen:
helm push my-chart-0.1.0.tgz oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Ersetzen Sie die folgenden Werte:
- LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
- PROJECT ist Ihre Projekt-ID in Google Cloud . Wenn Ihre Projekt-ID einen Doppelpunkt (
:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich. - REPOSITORY ist der Name des Repositorys.
Helm verwendet Informationen aus Chart.yaml für den Namen und das Tag des OCI-Container-Images. Hier ein Beispielbefehl:
helm push my-chart-0.1.0.tgz oci://us-west1-docker.pkg.dev/my-project/my-repo
Helm lädt das Diagramm-Archiv als Image my-chart mit dem Tag 0.1.0 hoch.
Listen Sie die Images im Repository auf, um zu prüfen, ob der Push-Vorgang erfolgreich war.
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Diagramme werden abgerufen
So rufen Sie ein Diagramm ab:
Führen Sie den folgenden Befehl aus, um das Diagrammarchiv abzurufen:
helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \ --version VERSIONWenn Sie das Diagrammarchiv abrufen und seinen Inhalt extrahieren möchten, fügen Sie das Flag
--untarhinzu.helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \ --version VERSION \ --untarErsetzen Sie die folgenden Werte:
- LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
- PROJECT ist Ihre Projekt-ID in Google Cloud .
Wenn Ihre Projekt-ID einen Doppelpunkt (
:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich. - REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
- IMAGE ist der Name des Images im Repository.
- VERSION ist die semantische Version des Diagramms. Dieses Flag ist erforderlich. Helm unterstützt das Abrufen eines Diagramms mithilfe eines Tags nicht.
Diagramm installieren
Installieren Sie ein in Artifact Registry gespeichertes Diagramm mit dem Befehl helm install.
helm install RELEASE \
oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--version VERSION
Im folgenden Beispiel wird ein Release mit dem Namen release1 mit der Version 0.1.0 des Diagramms us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart installiert:
helm install release1 oci://us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart --version 0.1.0
Diagramme auflisten
Sie können Diagramme über die Google Cloud console oder die Befehlszeile auflisten. Wenn Sie Container-Images und Diagramme im selben Docker-Repository speichern, werden beide Artefakttypen in der Liste angezeigt.
Console
So rufen Sie Images in einem Repository auf:
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Klicken Sie auf das Repository mit dem Container-Image.
Klicken Sie auf ein Image, um seine Versionen aufzurufen.
gcloud
So listen Sie alle Images im Standardprojekt, ‑repository und ‑standort auf, wenn die Standardwerte konfiguriert sind:
gcloud artifacts docker images list
Führen Sie den folgenden Befehl aus, um Images in einem Repository an einem bestimmten Speicherort aufzulisten:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Führen Sie den folgenden Befehl aus, um alle Digests und Tags für ein bestimmtes Image aufzulisten:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--include-tags
Ersetzen Sie die folgenden Werte:
- LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
- PROJECT ist Ihre Projekt-ID in Google Cloud . Wenn Ihre Projekt-ID einen Doppelpunkt (
:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich. - REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
- IMAGE ist der Name des Images im Repository.
--include-tagszeigt alle Versionen von Images, einschließlich Digests und Tags. Wenn dieses Flag weggelassen wird, enthält die zurückgegebene Liste nur Container-Images der obersten Ebene.
Angenommen, Sie haben ein Image mit folgenden Merkmalen:
- Speicherort des Repositorys:
us-west1 - Repository-Name:
my-repo - Projekt-ID:
my-project - Image-Name:
my-image
Der vollständige Repository-Name lautet:
us-west1-docker.pkg.dev/my-project/my-repo
Der vollständige Image-Name lautet:
us-west1-docker.pkg.dev/my-project/my-repo/my-image
Weitere Informationen zum Format des Image-Namens finden Sie unter Repository- und Image-Namen.
Dateien werden aufgelistet
Sie können Dateien in einem Repository, Dateien in allen Versionen eines bestimmten Container-Images oder Dateien in einer bestimmten Version eines Images auflisten.
Bei allen folgenden Befehlen können Sie die maximale Anzahl der zurückzugebenden Dateien festlegen, indem Sie dem Befehl das Flag --limit hinzufügen.
So listen Sie alle Dateien im Standardprojekt, ‑repository und ‑standort auf, wenn die Standardwerte konfiguriert sind:
gcloud artifacts files list
Führen Sie den folgenden Befehl aus, um Dateien in einem bestimmten Projekt, Repository und Speicherort aufzulisten:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
So listen Sie Dateien für alle Versionen eines bestimmten Container-Images auf:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
So listen Sie Dateien für eine bestimmte Container-Image-Version auf:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--tag=TAG
Ersetzen Sie die folgenden Werte:
LOCATION: der regionale oder multiregionale Speicherort für das Repository.PROJECT: Ihre Projekt-ID in Google Cloud . Wenn Ihre Projekt-ID einen Doppelpunkt (:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich.REPOSITORY: der Name des Repositorys, in dem das Image gespeichert ist.PACKAGE: der Name des ImagesVERSION: der Image-Digest, ein String, der mitsha256:beginnt.TAG: das mit dem Container-Image verknüpfte Tag.
Bilder löschen
In einem Artifact Registry-Repository können Sie ein ganzes Container-Image oder eine bestimmte Image-Version löschen, die mit einem Tag oder Digest verknüpft ist. Das Löschen eines Images kann nicht rückgängig gemacht werden.
So löschen Sie ein in Artifact Registry gespeichertes Image:
Console
Öffnen Sie in der Google Cloud Console die Seite Repositories.
Klicken Sie auf den Image-Namen, um die Versionen dieses Images aufzurufen.
Wählen Sie die Versionen aus, die Sie löschen möchten.
Klicken Sie auf Delete.
Klicken Sie im Bestätigungsdialogfeld auf LÖSCHEN.
gcloud
Um ein Image und alle zugehörigen Tags zu löschen, führen Sie folgenden Befehl aus:
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE --delete-tags
Um eine bestimmte Image-Version zu löschen, verwenden Sie einen der folgenden Befehle:
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]
oder
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]
Wo
- LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
- PROJECT ist Ihre Projekt-ID in Google Cloud .
Wenn Ihre Projekt-ID einen Doppelpunkt (
:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich. - REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
- IMAGE ist der Name des Images im Repository.
- TAG ist das Tag für die Version, die Sie löschen möchten. Wenn mehrere Tags mit derselben Image-Version verknüpft sind, müssen Sie
--delete-tagsangeben, um die Image-Version zu löschen, ohne die Tags vorher zu entfernen. - IMAGE-DIGEST ist der sha256-Hashwert für die Version, die Sie löschen möchten. Wenn ein Tag mit dem Image-Digest verknüpft ist, müssen Sie
--delete-tagsangeben, um die Image-Version zu löschen, ohne das Tag vorher zu entfernen. - Mit
--delete-tagswerden alle Tags entfernt, die auf die Image-Version angewendet werden. Mit diesem Flag können Sie das Löschen einer Image-Version in folgenden Fällen erzwingen:- Sie haben ein Tag angegeben, aber es sind andere Tags mit der Image-Version verknüpft.
- Sie haben einen Image-Digest mit mindestens einem Tag angegeben.
Nächste Schritte
- Docker-Images verwalten
- Laden Sie einzelne Dateien aus Ihrem Repository herunter, ohne Helm-Befehle zu verwenden.