Auf dieser Seite wird beschrieben, wie Sie Helm 3-Diagramme verwalten, die als OCI-Container-Images gespeichert sind. Dazu gehören das Hochladen (Push), Herunterladen (Pull), Auflisten, Tagging und Löschen von Diagrammen.
Hinweis
- Wenn das Ziel-Repository nicht vorhanden ist, erstellen Sie ein neues Repository. Wählen Sie Docker als Repository-Format.
- Prüfen Sie, ob Sie über die erforderlichen Berechtigungen für die zu erstellen.
- (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 werden Diagramme im OCI-Format unterstützt, experimentelle Funktion.
Führen Sie
helm version
aus, um die Version zu prüfen.Konfigurieren Sie Helm für die Authentifizierung bei Artifact Registry.
Diagramme erstellen oder abrufen
In dieser Dokumentation geht es hauptsächlich um das Verwalten von Diagrammbildern. Es wird davon ausgegangen, dass Sie bereits Diagramme haben oder mit dem Erstellen von Diagrammen vertraut sind. Weitere Informationen über oder öffentlich verfügbare Diagramme in Artifact Hub abrufen, finden Sie folgenden Informationen in der Helm-Dokumentation.
- Helm verwenden beschreibt das Abrufen von Diagrammen aus dem öffentlichen Artifact Hub und die Anpassung eines bevor Sie es installieren.
- Diagramme enthält Informationen zu Diagrammen und zum Erstellen von Diagrammen.
- Im Leitfaden zu Best Practices für Diagramme werden Konventionen und Best Practices beschrieben.
Diagramm verpacken
Bevor Sie ein Diagramm an Artifact Registry übertragen können, müssen Sie verpacken Sie sie als Diagrammarchiv.
Wechseln Sie in das Verzeichnis, das Ihr Diagramm enthält.
Verpacken Sie das Diagramm.
helm package CHART-PATH
Ersetzen Sie CHART-PATH durch den Pfad zum Verzeichnis, das die Datei enthält. Ihre
Chart.yaml
-Datei.
Helm verwendet den Diagrammnamen und die Version für den Archivdateinamen. Beispiel:
Sie haben ein Diagramm mit dem Namen my-chart
und der Versionsnummer 0.1.0
,
Paketname ist my-chart-0.1.0.tgz
.
Sie können das Diagramm jetzt per Push an Artifact Registry übertragen.
Diagramm veröffentlichen
Nachdem Sie Ihr Diagramm verpackt haben, können Sie es in Artifact Registry hochladen.
Führen Sie den folgenden Befehl aus, um das Diagramm per Push zu übertragen:
helm push my-chart-0.1.0.tgz oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Ersetzen Sie die folgenden Werte:
- LOCATION ist der/die/das regional oder multiregional Speicherort des Repositorys.
- PROJECT ist Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (`:`) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
- 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 Beispiel:
helm push my-chart-0.1.0.tgz oci://us-west1-docker.pkg.dev/my-project/my-repo
Helm lädt das Diagrammarchiv als Bild my-chart
mit dem Tag 0.1.0
hoch.
Um zu überprüfen, ob der Push-Vorgang erfolgreich war, listen Sie die Images in der zu erstellen.
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Diagramme abrufen
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 VERSION
Wenn Sie das Diagrammarchiv abrufen und seinen Inhalt extrahieren möchten, fügen Sie das Flag
--untar
hinzu.helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \ --version VERSION \ --untar
Ersetzen Sie die folgenden Werte:
- LOCATION ist der regional oder multiregional Speicherort des Repositorys.
- PROJECT ist Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (`:`) enthält, finden Sie weitere Informationen unter Domain-übergreifende Projekte.
- 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. Diese Markierung ist erforderlich. Helm unterstützt nicht das Abrufen eines Diagramms mit einem Tag.
Diagramme installieren
In Artifact Registry gespeicherte Diagramme mit dem Helm installieren installieren .
helm install RELEASE \
oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--version VERSION
Im folgenden Beispiel wird ein Release namens release1
mit Version 0.1.0
installiert
des Diagramms us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart
:
helm install release1 oci://us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart --version 0.1.0
Listendiagramme
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 Bilder in einem Repository auf:
Öffnen Sie in der Cloud Console die Seite Repositories.
Klicken Sie auf das Repository mit dem Container-Image.
Klicken Sie auf ein Bild, um die zugehörigen Versionen aufzurufen.
gcloud
So listen Sie alle Images im Standardprojekt, im Standard-Repository und am Standard-Speicherort auf, wenn die Standardwerte konfiguriert sind:
gcloud artifacts docker images list
Um Images in einem Repository an einem bestimmten Speicherort aufzulisten, führen Sie folgenden Befehl aus:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Um alle Digests und Tags für ein bestimmtes Image aufzulisten, führen Sie folgenden Befehl aus:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--include-tags
Ersetzen Sie die folgenden Werte:
- LOCATION ist der/die/das regional oder multiregional Speicherort des Repositorys.
- PROJECT ist Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (`:`) enthält, finden Sie weitere Informationen unter Domain-übergreifende Projekte.
- REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
- IMAGE ist der Name des Images im Repository.
--include-tags
zeigt alle Image-Versionen einschließlich Digests und Tags an. Wenn dieses Flag nicht angegeben wird, enthält die zurückgegebene Liste nur übergeordnete Container-Images.
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 dann:
us-west1-docker.pkg.dev/my-project/my-repo/my-image
Weitere Informationen zum Format der Image-Namen finden Sie unter Repository- und Image-Namen.
Dateien auflisten
Sie können Dateien in einem Repository auflisten, Dateien in allen Versionen einer bestimmten Container-Image oder Dateien in einer bestimmten Version eines Images.
Für alle folgenden Befehle können Sie eine maximale Anzahl von Dateien festlegen, die zurückgegeben werden sollen
indem Sie dem Befehl das Flag --limit
hinzufügen.
Zum Auflisten aller Dateien im Standardprojekt, Repository und Standort, 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
: die regional oder multiregional Speicherort des Repositorys.PROJECT
: Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (`:`) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.REPOSITORY
: der Name des Repositorys, in dem sich das Image befindet gespeichert ist.PACKAGE
: der Name des ImagesVERSION
: den Image-Digest, ein String, der mitsha256:
beginnt.TAG
: das Tag, das mit dem Container-Image verknüpft ist.
Bilder löschen
In einem Artifact Registry-Repository können Sie einen gesamten Container löschen Image erstellen oder eine bestimmte Image-Version löschen, die mit einem Tag oder Digest verknüpft ist. Einmal Sie ein Bild gelöscht haben, kann die Aktion nicht rückgängig gemacht werden.
So löschen Sie ein in Artifact Registry gespeichertes Image:
Console
Öffnen Sie in der Cloud Console die Seite Repositories.
Klicken Sie auf den Image-Namen, um die Versionen des Images aufzurufen.
Wählen Sie die Versionen aus, die Sie löschen möchten.
Klicken Sie auf Löschen.
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]
Dabei gilt:
- LOCATION ist der regional oder multiregional Speicherort des Repositorys.
- PROJECT ist Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (`:`) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
- 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-tags
angeben, damit die Image-Version ohne vorheriges Entfernen der Tags gelöscht wird. - IMAGE-DIGEST ist der sha256-Hash-Wert für die Version, die Sie löschen möchten. Wenn ein Tag mit dem Image-Digest verknüpft ist, müssen Sie
--delete-tags
angeben, damit die Image-Version ohne vorheriges Entfernen des Tags gelöscht wird. - Mit
--delete-tags
werden alle Tags entfernt, die auf die Image-Version angewendet werden. Mit diesem Flag können Sie das Löschen einer Image-Version erzwingen, wenn Folgendes gilt:- Sie haben ein Tag angegeben, aber mit der Image-Version sind weitere Tags verknüpft.
- Sie haben einen Image-Digest mit mindestens einem Tag angegeben.
Nächste Schritte
- Weitere Informationen zum Verwalten von Docker-Images
- Einzelne Dateien herunterladen ohne Helm-Befehle verwenden zu können.