Helm-Diagramme verwalten

Auf dieser Seite wird erläutert, wie Sie Helm 3-Diagramme verwalten, die als OCI-Container-Images gespeichert sind. Dazu gehören das Hochladen (Hochladen), Pull-Modus (Herunterladen), das Auflisten, Taggen und Löschen von Diagrammen.

Die Unterstützung von Helm 3 für Diagramme, die als OCI-Container-Images gespeichert werden, ist experimentell. Informationen zu Helm-Plänen für die allgemeine Verfügbarkeit des OCI-Supports finden Sie unter OCI-Support Helm-Verbesserungsvorschlag

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 gcloud-Befehle.
  4. Helm 3.7.1 oder höher installieren

    Führen Sie helm version aus, um Ihre Version zu prüfen.

    Mit Helm 3.7.0 wurden Änderungen eingeführt, die nicht mit älteren Helm-Versionen abwärtskompatibel sind. Helm 3.7.1 kann OCI-Diagramme abrufen, die mit vorherigen Helm 3-Versionen verpackt sind und die Diagrammbefehle verwenden, die in Helm 3.7.0 eingeführt wurden.

  5. Helm-Testunterstützung für OCI-Images mit der Variable HELM_EXPERIMENTAL_OCI aktivieren. Fügen Sie die folgende Zeile zu ~/.bashrc (oder ~/.zshrc in macOS oder am Speicherort für Umgebungsvariablen der Shell) hinzu:

    export HELM_EXPERIMENTAL_OCI=1
    
  6. Führen Sie den folgenden Befehl aus, um die aktualisierten Einstellungen zu laden:

    • Bash: source ~/.bashrc
    • Z Shell: source ~/.zshrc
  7. Konfigurieren Sie Helm zur Authentifizierung mit Artifact Registry.

Diagramm erstellen oder abrufen

In dieser Dokumentation geht es um die Verwaltung Ihrer Diagrammbilder. Dabei 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 den folgenden Informationen in der Helm-Dokumentation.

  • Mit Helm wird beschrieben, wie Sie Diagramme vom öffentlichen Artifact Hub abrufen und ein Diagramm vor der Installation anpassen.
  • Im Abschnitt Diagramme werden Diagramme beschrieben und Diagramme erstellt.
  • Im Leitfaden zu Best Practices für Diagramme werden Konventionen und Best Practices beschrieben.

Diagramme 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. Paket verpacken

    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 Namen der Archivdatei. 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 in Artifact Registry übertragen.

Diagramme übertragen

Nachdem Sie das Diagramm verpackt haben, können Sie es in die Artifact Registry verschieben.

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 regionale oder multiregionale Speicherort für das Repository.
  • 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 als Name und Tag für den OCI-Container-Image. Betrachten Sie den folgenden Beispielbefehl:

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

Helm lädt das Diagrammarchiv als Bild 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 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 seine Inhalte 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 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.
    • VERSION ist die semantische Version des Diagramms. Dieses Flag ist erforderlich. Helm unterstützt nicht das Abrufen eines Diagramms mit einem Tag.

Diagramm installieren

Mit dem Befehl helm install ein in Artifact Registry gespeichertes Diagramm installieren.

helm install RELEASE \
    oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
    --version VERSION

Im folgenden Beispiel wird ein Release namens release1 mit der Version 0.1.0 des Diagramms us-east4-docker.pkg.dev/nyap-test/helm-repo/my-chart installiert:

helm install release1 oci://us-east4-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:

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

    Zur Seite „Repositories“

  2. Klicken Sie auf das Repository, das das Diagramm enthält.

  3. Klicken Sie auf ein Image, um seine Versionen aufzurufen.

gcloud

So listen Sie alle Images im Standardprojekt, Repository und Speicherort auf, wenn die Standardwerte konfiguriert sind:

gcloud artifacts docker images list [--include-tags]

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 \
[--include-tags]

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 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
  • Repository-Name: my-repo
  • Projekt-ID: my-project
  • Image-Name: my-image

Der vollständige Repository-Name ist:

us-docker.pkg.dev/my-project/my-repo

Der vollständige Image-Name ist:

us-docker.pkg.dev/my-project/my-repo/my-image

Weitere Informationen zum Format des Image-Namens finden Sie unter Repository- und Image-Namen.

Bilder löschen

In einem Artifact Registry-Repository können Sie das gesamte Container-Image oder eine bestimmte Image-Version, die mit einem Tag oder Digest verknüpft ist, löschen. Nachdem Sie ein Image gelöscht haben, können Sie die Aktion nicht rückgängig machen.

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

Console

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

    Zur Seite „Repositories“

  2. Klicken Sie auf den Image-Namen, um die Versionen des Images aufzurufen.

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

  4. Klicken Sie auf Löschen.

  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 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