Helm-Diagramme verwalten

Auf dieser Seite wird beschrieben, wie Sie Helm 3-Charts verwalten, die als OCI-Container-Images gespeichert sind. Dazu gehören das Pushing (Hochladen), Pulling (Herunterladen), Auflisten, Taggen und Löschen von Charts.

Hinweis

  1. Wenn das Ziel-Repository nicht vorhanden ist, erstellen Sie ein neues Repository. Wählen Sie Docker als Repository-Format aus.
  2. Prüfen Sie, ob Sie die erforderlichen Berechtigungen für das Repository haben.
  3. (Optional) Konfigurieren Sie die Standardeinstellungen für Google Cloud CLI-Befehle.
  4. 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 version aus, um die Version zu prüfen.

  5. Konfigurieren Sie Helm für die Authentifizierung bei Artifact Registry.

Diagramm erstellen oder abrufen

In dieser Dokumentation geht es um die Verwaltung von Diagrammbildern. Es wird davon ausgegangen, dass Sie bereits Diagramme haben oder wissen, wie Sie Diagramme erstellen. Weitere Informationen zum Erstellen von Diagrammen oder zum Abrufen öffentlich verfügbarer Diagramme in Artifact Hub finden Sie in der Helm-Dokumentation.

Chart verpacken

Bevor Sie ein Diagramm in Artifact Registry hochladen können, müssen Sie es als Diagrammarchiv verpacken.

  1. Wechseln Sie in das Verzeichnis, das Ihr Diagramm enthält.

  2. Verpacken Sie das Diagramm.

    helm package CHART-PATH
    

    Ersetzen 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 Chart jetzt per Push in Artifact Registry übertragen.

Diagramm hochladen

Nachdem Sie Ihr Diagramm verpackt haben, können Sie es in Artifact Registry hochladen.

Führen Sie den folgenden Befehl aus, um das Diagramm 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 regionale oder multiregionale Speicherort für das Repository.
  • PROJECT ist die 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 Beispielbefehl:

helm push my-chart-0.1.0.tgz oci://us-west1-docker.pkg.dev/my-project/my-repo

Helm lädt das Diagrammarchiv als das Image my-chart mit dem Tag 0.1.0 hoch.

Wenn Sie prüfen möchten, ob der Push-Vorgang erfolgreich war, listen Sie die Images im Repository auf.

gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY

Diagramme abrufen

So rufen Sie ein Diagramm ab:

  1. 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 regionale oder multiregionale Speicherort für das Repository.
  • PROJECT ist die 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.
  • VERSION ist die semantische Version des Diagramms. Dieses Flag ist erforderlich. Helm unterstützt das Abrufen eines Charts mithilfe eines Tags nicht.

Chart 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 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 mit der Google Cloud console oder über 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:

  1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf das Repository mit dem Container-Image.

  3. Klicken Sie auf ein Bild, um seine 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

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

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 regionale oder multiregionale Speicherort für das Repository.
  • PROJECT ist die 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.
  • --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:

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 auflisten

Sie können Dateien in einem Repository, Dateien in allen Versionen eines angegebenen Container-Images oder Dateien in einer bestimmten Version eines Images auflisten.

Für alle folgenden Befehle können Sie eine maximale Anzahl von zurückzugebenden Dateien festlegen, indem Sie dem Befehl das Flag --limit hinzufügen.

So listen Sie alle Dateien im Standardprojekt, im Standard-Repository und am Standard-Speicherort auf, wenn die Standardwerte konfiguriert sind:

gcloud artifacts files list

Führen Sie den folgenden Befehl aus, um Dateien in einem angegebenen 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
So listen Sie Dateien für ein bestimmtes Tag auf:

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 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 das Image gespeichert ist.
  • PACKAGE: der Name des Images
  • VERSION: Der Image-Digest, ein String, der mit sha256: beginnt.
  • TAG: Das mit dem Container-Image verknüpfte Tag.

Bilder löschen

In einem Artifact Registry-Repository können Sie ein komplettes Container-Image oder eine bestimmte Image-Version löschen, die mit einem Tag oder Digest verknüpft ist. Das Löschen eines Bildes kann nicht rückgängig gemacht werden.

So löschen Sie ein in Artifact Registry gespeichertes Image:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf den Namen des Bildes, um die Versionen des Bildes aufzurufen.

  3. Wählen Sie die Versionen aus, die Sie löschen möchten.

  4. Klicken Sie auf Delete.

  5. 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 die 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-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-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 Bildversion 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