Verwendung von Helm Diagrammen in Container Registry

Sie können Helm-Charts in IBM Cloud® Container Registry sicher speichern und mit anderen Benutzern gemeinsam nutzen.

OCI-Unterstützung für Helm-Charts

Die Open Container Initiative(OCI) hat im September 2021 die Open Container Initiative Distribution Specification v1.0.0 veröffentlicht. Diese Spezifikation unterstützt neben Container-Images weitere Artefakttypen. Einer der unterstützten Artefakttypen ist das Helm Diagramm.

Helm v3.8.0 bietet Unterstützung für die Speicherung von und die Arbeit mit Diagrammen in OCI-Registries als Alternative zu den Helm Diagrammspeichern. Weitere Informationen finden Sie in der Dokumentation Helm Registries.

Helm-Charts zu Ihrem Namensbereich hinzufügen

Sie können Diagramme aus Helm sicher speichern und mit anderen Benutzern teilen, indem Sie die Diagramme in Ihrem NamespaceEine Sammlung von Repositorys, die Images in einer Registry speichern. Ein Namensbereich ist einem IBM Cloud -Konto zugeordnet, das mehrere Namensbereiche enthalten kann. unter IBM Cloud Container Registry hinzufügen.

Jedes Helm-Charts, das Sie Ihrem Namensbereich hinzufügen wollen, muss zuerst auf Ihrem lokalen Computer vorhanden sein. Sie können entweder ein Diagramm aus einem anderen Repository auf Ihren lokalen Computer herunterladen (abrufen) oder mithilfe des Befehls helm create ein eigenes Diagramm erstellen. Zum Hinzufügen eines Charts zu Ihrem Namensbereich müssen Sie das lokale Chart in Ihren Namensbereich in IBM Cloud Container Registry (mit einer Push-Operation) hochladen.

Fügen Sie keine persönlichen Informationen (z. B. in Namensbereichsnamen oder Beschreibungsfelder) in Ihre Charts oder in Chart- oder Chartkonfigurationsdaten (z. B. Namen oder Bezeichnungen für Charts) ein.

Charts aus einer anderen Registry oder einem anderen Helm-Repository mit einer Pull-Operation extrahieren

Sie können ein Diagramm aus einer beliebigen privaten oder öffentlichen RegistryEin Speicher-und Verteilungsservice, der öffentliche oder private Images zum Erstellen von Containern enthält.-Quelle oder einem Helm-Repository auf Ihren Computer herunterladen und es anschließend für die spätere Verwendung in IBM Cloud Container Registry mit Tags versehen.

![Laden Sie ein Chart aus einem privaten oder öffentlichen Registry-Server oder einem Helm-Repository auf Ihren Computer herunter.](images/pulling_images_mul.svg " Das folgende Diagramm zeigt, dass Sie ein Chart von Container Registry oder von einer beliebigen privaten oder öffentlichen Registry-Quelle sowie aus einem Helm-Repository auf Ihren lokalen Computer herunterladen können. Charts aus einer anderen Registry" caption-side="bottom" external download="../images/pulling_images_mul.svg"} "){: caption="herunterladen

Führen Sie die folgenden Tasks aus, bevor Sie beginnen.

  1. Laden Sie das Helm-Chart auf Ihren lokalen Computer herunter.

    • Laden Sie die Tabelle Helm von der OCI-Registratur herunter:
        helm pull oci://REGISTRY/MY_NAMESPACE/CHART_NAME --version CHART_VERSION
        ```
    
        Beispiel, bei dem für `REGISTRY` der Wert `localhost:5000`, für `MY_NAMESPACE` der Wert `helm-charts`, für `CHART_NAME` der Wert `mychart` und für `CHART_VERSION` der Wert `0.1.0` verwendet wird:
    
        ```sh {: pre}
        helm pull oci://localhost:5000/helm-charts/mychart --version 0.1.0
        ```
    - Laden Sie das Diagramm Helm von einem Helm Repository herunter:
    
    ```sh
        helm pull [CHART_URL | REPO/CHART_NAME] --version CHART_VERSION
        ```
    
        Beispiel, bei dem für `REPO/CHART_NAME` der Wert `ibm-charts/ibm-istio` und für `CHART_VERSION` der Wert `1.2.2` verwendet wird.
    
        Sie können den Repo-Alias mit dem [`helm repo add`](https://helm.sh/docs/helm/helm_repo_add/){: external} befehl.
        {: tip}
    
        ```sh {: pre}
        helm pull ibm-charts/ibm-istio  --version 1.2.2
        ```
    Wenn Sie eine Nachricht des Typs `unauthorized: authentication required` oder `denied: requested access to the resource is denied` erhalten, führen Sie den Befehl [`ibmcloud cr login`](/docs/Registry?topic=Registry-containerregcli#bx_cr_login) aus.
    {: tip}
    
    

Nachdem Sie ein Chart mit einer Pull-Operation aus Ihrem Namensbereich abgerufen haben, können Sie das Image aus Ihrem lokalen Computer in Ihren Namensbereich (mit einer Push-Operation) hochladen.

Helm-Charts mit Push-Operation in Ihren Namensbereich übertragen

Sie können ein Diagramm von Ihrem Computer in Ihren Namensraum auf IBM Cloud Container Registry hochladen (Push), um Ihr Diagramm zu speichern und es mit anderen Benutzern zu teilen.

![Übertragen Sie ein Diagramm von Ihrem Computer](images/pushing_images_mul.svg " auf IBM Cloud Container Registry.The. Das folgende Diagramm zeigt, dass Sie ein Diagramm von Ihrem lokalen Computer in Ihren Namespace unter Container Registry übertragen können, um es dort zu speichern und mit anderen Benutzern zu teilen. Diagramme in Ihren Namespace" caption-side="bottom" external download="../images/pushing_images_mul.svg"} "){: caption="übertragen

Führen Sie die folgenden Tasks aus, bevor Sie beginnen.

Führen Sie die folgenden Schritte aus, um ein Chart (mit einer Push-Operation) hochzuladen:

  1. Melden Sie sich an der CLI an, indem Sie den folgenden Befehl ausführen, wobei DOMAIN der Domänenname ist und der Benutzername (-u) auf iamapikey gesetzt ist. Weitere Informationen zu den Domänennamen finden Sie unter Regionen.

    helm registry login DOMAIN -u iamapikey
    

    Der Befehl fordert Sie dann auf, das Kennwort einzugeben, bei dem es sich um den IAM-API-Schlüssel handelt.

    Sie müssen sich anmelden, wenn Sie ein Chart aus Ihrem privaten IBM Cloud Container Registry per Pull-Operation extrahieren möchten.

  2. Führen Sie den Befehl ibmcloud cr namespace-list aus, um alle in Ihrem Konto verfügbaren Namensbereiche anzuzeigen.

  3. Laden Sie das Chart in Ihren Namensbereich hoch.

    helm push MY_CHART_PACKAGE oci://REGION.icr.io/MY_NAMESPACE
    

    Beispiel, bei dem für MY_CHART_PACKAGE der Wert mychart-0.1.0.tgz, für REGION der Wert uk und für MY_NAMESPACE der Wert helm-charts verwendet wird:

    helm push mychart-0.1.0.tgz oci://uk.icr.io/helm-charts
    

    Wenn die Nachricht unauthorized: authentication required oder denied: requested access to the resource is denied ausgegeben wird, führen Sie den Befehl ibmcloud cr login aus.

Nachdem Sie Ihr Chart mit Push-Operation an IBM Cloud Container Registryübertragen haben, können Sie das Helm-Chart im Cluster in IBM Cloud Kubernetes Service installieren.

Charts zwischen Registrys kopieren

Sie können Charts zwischen Registries kopieren, indem Sie ein Chart aus einer Registry in einer Region abrufen und es in eine Registry in einer anderen Region übertragen, sodass Sie das Chart für Benutzer in beiden Regionen freigeben können.

Kopieren von Charts zwischen Registries.
Kopieren von Charts zwischen Registries

Führen Sie die folgenden Tasks aus, bevor Sie beginnen.

Gehen Sie wie folgt vor, um ein Chart zwischen zwei Registrys zu kopieren:

  1. Extrahieren Sie ein Chart mit einer Pull-Operation aus einer Registry.
  2. Übertragen Sie das Chart mit Push-Operation in eine andere Registry. Stellen Sie sicher, dass Sie den richtigen Domainnamen für die neue Region verwenden, auf die Sie abzielen.

Nachdem Sie das Chart kopiert haben, können Sie das Helm-Chart im Cluster in IBM Cloud Kubernetes Service installieren.

Helm-Chart im Cluster installieren

Sie können ein Helm-Chart direkt aus der Registry im Cluster in IBM Cloud Kubernetes Service installieren. Befolgen Sie die Anweisungen im Helm-Chart README und verwenden Sie für die Installation den vollständigen Registryverweise auf das Chart und die Chart-Version.

helm install RELEASE_NAME oci://REGION.icr.io/MY_NAMESPACE/CHART_NAME --version CHART_VERSION

Beispiel, bei dem für RELEASE_NAME der Wert myrelease, für REGION der Wert uk, für MY_NAMESPACE der Wert helm-charts, für CHART_NAME der Wert mychart und für CHART_VERSION der Wert 0.1.0 verwendet wird:

helm install myrelease oci://uk.icr.io/helm-charts/mychart --version 0.1.0

Charts aus dem privaten Repository löschen

Sie können unerwünschte Charts aus Ihrem privaten IBM Cloud-Repository löschen, indem Sie entweder die IBM Cloud-Konsole oder die Befehlszeilenschnittstelle verwenden.

Informationen zum Löschen eines privaten Repositorys und der zugehörigen Charts finden Sie unter Privates Repository und zugehörige Charts löschen.

Das Löschen eines Charts, das von einer vorhandenen Implementierung verwendet wird, kann dazu führen, dass Upgrade-, Rollback- oder Löschoperationen für Helm fehlschlagen.

Wenn Sie ein gelöschtes Chart wiederherstellen möchten, können Sie den Inhalt des Papierkorbs auflisten, indem Sie den Befehl ibmcloud cr trash-list ausführen, und ein ausgewähltes Chart wiederherstellen, indem Sie den Befehl ibmcloud cr image-restore ausführen. Sie können diese Befehle verwenden, da Helm-Charts ein unterstützter Artefakttyp in OCI sind.

Diagramme können nicht aus dem Papierkorb gelöscht werden. Charts werden 30 Tage im Papierkorb gespeichert. Für Diagramme, die sich im Papierkorb befinden, werden Ihnen keine Kosten in Rechnung gestellt.

Wenn innerhalb eines Repositorys mehrere TagsEine benutzerdefinierte Kennung, die einer Gruppierung von Ressourcen in einem Konto zugeordnet ist. Tags sind im gesamten Konto sichtbar. für denselben Chart-Digest vorhanden sind, entfernt der Befehl ibmcloud cr image-rm den zugrunde liegenden Chart und alle zugehörigen Tags. Wenn dasselbe Diagramm in einem anderen Repository oder Namensraum vorhanden ist, wird die Kopie des Diagramms nicht entfernt.

Ein Tag muss immer mit der semantischen Version des Diagramms übereinstimmen, was bedeutet, dass kein Tag latest verwendet wird.

Diagramme in der Befehlszeilenschnittstelle aus dem privaten Repository löschen

Sie können unerwünschte Charts und alle zugehörigen Tags über die Befehlszeilenschnittstelle aus Ihrem privaten IBM Cloud-Repository löschen.

Das Löschen eines Charts, das von einer vorhandenen Implementierung verwendet wird, kann dazu führen, dass Upgrade-, Rollback- oder Löschoperationen für Helm fehlschlagen.

Wenn Sie ein gelöschtes Chart wiederherstellen möchten, können Sie den Inhalt des Papierkorbs auflisten, indem Sie den Befehl ibmcloud cr trash-list ausführen, und ein ausgewähltes Chart wiederherstellen, indem Sie den Befehl ibmcloud cr image-restore ausführen.

Gehen Sie wie folgt vor, um ein Chart über die Befehlszeilenschnittstelle zu löschen:

  1. Melden Sie sich bei IBM Cloud an, indem Sie den Befehl ibmcloud login ausführen.

  2. Führen Sie zum Löschen eines Charts den folgenden Befehl aus, wobei CHART der Name des zu entfernenden Charts im Format repository@digest oder repository:tag ist. Im Gegensatz zu Images muss ein Tag angegeben werden, da der Tag latest nicht vorhanden ist, weil ein Tag immer mit der semantischen Version des Chart übereinstimmen muss. Sie können mehrere Charts löschen, indem Sie jeden privaten IBM Cloud-Registry-Pfad im Befehl auflisten, wobei die einzelnen Pfade jeweils mit einem Leerzeichen voneinander getrennt werden.

    ibmcloud cr image-rm CHART
    

    Führen Sie ibmcloud cr image-list aus, um nach den Namen Ihrer Charts zu suchen. Die Registry speichert verschiedene Artefakttypen, darunter Helm-Charts und Container-Images. Kombinieren Sie den Inhalt der Spalten Repository (repository) und Schlagwort (tag), getrennt durch einen Doppelpunkt (:), um den Imagenamen im Format repository:tag zu erstellen. Führen Sie den Befehl ibmcloud cr image-digests aus, um Ihr Chart nach Digest zu ermitteln. Kombinieren Sie den Inhalt der Spalte Repository (repository) und der Spalte Auszug (digest), getrennt durch ein Symbol 'at' (@), um den Bildnamen im Format repository@digest zu erstellen.

  3. Überprüfen Sie, ob das Chart gelöscht wurde, indem Sie den folgenden Befehl ausführen. Stellen Sie sicher, dass das Chart nicht in der Liste angezeigt wird.

    ibmcloud cr image-list
    

Diagramme aus Ihrem privaten Repository in der IBM Cloud-Konsole löschen

Sie können unerwünschte Charts und alle zugehörigen Tags über die IBM Cloud-Konsole aus Ihrem privaten IBM Cloud-Repository löschen.

Das Löschen eines Charts, das von einer vorhandenen Implementierung verwendet wird, kann dazu führen, dass Upgrade-, Rollback- oder Löschoperationen für Helm fehlschlagen.

Wenn Sie ein gelöschtes Chart wiederherstellen möchten, können Sie den Inhalt des Papierkorbs auflisten, indem Sie den Befehl ibmcloud cr trash-list ausführen, und ein ausgewähltes Chart wiederherstellen, indem Sie den Befehl ibmcloud cr image-restore ausführen.

Führen Sie die folgenden Schritte aus, um ein Chart über die IBM Cloud-Konsole zu löschen:

  1. Melden Sie sich mit Ihrem IBMid bei der IBM Cloud-Konsole unter https://cloud.ibm.com/login an.
  2. Wenn Sie über mehrere IBM Cloud-Konten verfügen, wählen Sie das Konto und die Region im Kontomenü aus, die Sie verwenden möchten.
  3. Klicken Sie auf das Symbol Navigationsmenü und dann auf Container Registry.
  4. Klicken Sie auf Images. Eine Liste Ihrer Charts (und Images, falls vorhanden) wird angezeigt. Die Registry speichert verschiedene Artefakttypen, darunter Helm-Charts und Container-Images.
  5. Wählen Sie in der Zeile, die das zu löschende Chart enthält, das Kontrollkästchen aus.
  6. Klicken Sie auf Image löschen.

Charts im Papierkorb auflisten

Sie können gelöschte Charts, die sich im Papierkorb befinden, auflisten und anzeigen, wann sie ablaufen.

Mit dem Befehl ibmcloud cr trash-list können Sie herausfinden, welche Charts sich im Papierkorb befinden. Charts werden 30 Tage im Papierkorb gespeichert.

Führen Sie die folgenden Schritte aus, um die Charts im Papierkorb aufzulisten:

  1. Melden Sie sich bei IBM Cloud an, indem Sie den Befehl ibmcloud login ausführen.

  2. Sie können die Diagramme im Papierkorb auflisten, indem Sie den folgenden Befehl ausführen.

    ibmcloud cr trash-list
    
  3. Sie können nur die Diagramme im Papierkorb für den Namespace auflisten, der Sie interessiert, indem Sie den folgenden Befehl ausführen, wobei Ihr Namespace ist NAMESPACE.

    ibmcloud cr trash-list --restrict NAMESPACE
    

Charts wiederherstellen

Sie können die Diagramme aus dem Papierkorb wiederherstellen. Gelöschte Charts werden 30 Tage lang im Papierkorb gespeichert.

Sie können ein Charts aus dem Papierkorb wiederherstellen, indem Sie den Befehl ibmcloud cr image-restore ausführen. Führen Sie den Befehl ibmcloud cr trash-list aus, um herauszufinden, welche Charts sich im Papierkorb befinden.

Sie können die Diagramme wiederherstellen, indem Sie den ibmcloud cr image-restore befehl. Die folgenden Optionen können verwendet werden:

Charts nach Digest wiederherstellen

Wenn Sie ein Diagramm nach Digest wiederherstellen, wird der Digest aus dem Papierkorb in Ihr Live-Repository verschoben und alle Tags für diesen Digest im Repository werden wiederhergestellt.

Führen Sie die folgenden Schritte aus, um ein Chart nach Digest aus dem Papierkorb wiederherzustellen:

  1. Melden Sie sich bei IBM Cloud an, indem Sie den Befehl ibmcloud login ausführen.

  2. Listen Sie die Charts im Papierkorb auf, indem Sie den folgenden Befehl ausführen.

    ibmcloud cr trash-list
    

    Daraufhin wird eine Tabelle mit den Elementen im Papierkorb angezeigt. In der Tabelle werden der Digest, die verbleibenden Tage bis zum Ablauf sowie die Tags für diesen Digest angezeigt.

  3. Notieren Sie den Digest für das Chart, das Sie wiederherstellen möchten.

  4. Führen Sie den folgenden Befehl aus, um das Chart in Ihrem Repository wiederherzustellen. Dabei ist DNS der Domänenname, NAMESPACE der Namensbereich, REPO das Repository und DIGEST der Digest des Charts, das Sie wiederherstellen möchten.

    ibmcloud cr image-restore DNS/NAMESPACE/REPO@DIGEST
    

    Falls einige Tags nicht wiederhergestellt werden, lesen Sie den Artikel Warum werden nicht alle Tags wiederhergestellt, wenn ich die Wiederherstellung anhand des Digests durchführe?, um Hilfe zu erhalten.

    In Ihrem Live-Repository können Sie das Charts mit einer Pull-Operation nach Digest extrahieren. Wenn Sie den Befehl ibmcloud cr image-digests ausführen, wird das Diagramm in der Ausgabe angezeigt.

Charts nach Tag wiederherstellen

Wenn Sie ein Chart nach Tag wiederherstellen, wird nur dieser bestimmte Tag aus dem Papierkorb in Ihr Live-Repository verschoben.

Führen Sie die folgenden Schritte aus, um ein Chart nach Tag aus dem Papierkorb wiederherzustellen.

  1. Melden Sie sich bei IBM Cloud an, indem Sie den Befehl ibmcloud login ausführen.

  2. Listen Sie die Charts im Papierkorb auf, indem Sie den folgenden Befehl ausführen.

    ibmcloud cr trash-list
    

    Daraufhin wird eine Tabelle mit den Elementen im Papierkorb angezeigt. In der Tabelle werden der Digest, die verbleibenden Tage bis zum Ablauf sowie die Tags für diesen Digest angezeigt.

  3. Notieren Sie sich für das Chart, das Sie wiederherstellen möchten, den Digest bis zum kommerzielles A (@), jedoch ohne dieses Zeichen. Dieser Teil des Digest lautet DNS/NAMESPACE/REPO, wobei DNS der Domänenname, NAMESPACE der Namensbereich und REPO das Repository ist.

  4. Notieren Sie sich für das Diagramm, das Sie wiederherstellen möchten, das Tag TAG.

  5. Führen Sie den folgenden Befehl aus, um das Chart in Ihrem Repository wiederherzustellen. Dabei steht DNS/NAMESPACE/REPO für den Namen des wiederherzustellenden Charts und TAG für den Tag.

    ibmcloud cr image-restore DNS/NAMESPACE/REPO:TAG
    

    In Ihrem Live-Repository können Sie das Chart per Pull-Operation über den Tag abrufen.

    Wenn Sie den Befehl ibmcloud cr trash-list ausführen, werden der Digest und möglicherweise andere Tags in der Ausgabe angezeigt, der Tag wird jedoch nicht mehr angezeigt.

Privates Repository und zugehörige Charts löschen

Sie können nicht mehr benötigte private Repositorys und alle zugehörigen Charts über die IBM Cloud-Konsole löschen.

Wenn Sie ein Repository löschen, werden alle Charts in diesem Repository gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.

Bevor Sie beginnen, müssen Sie alle Charts sichern, die beibehalten werden sollen.

Führen Sie die folgenden Schritte aus, um ein privates Repository über die IBM Cloud-Konsole zu löschen:

  1. Melden Sie sich mit Ihrem IBMid bei der IBM Cloud-Konsole unter https://cloud.ibm.com/login an.

  2. Wenn Sie über mehrere IBM Cloud-Konten verfügen, wählen Sie das Konto und die Region im Kontomenü aus, die Sie verwenden möchten.

  3. Klicken Sie auf das Symbol Navigationsmenü und dann auf Container Registry.

  4. Klicken Sie auf Repositorys. Es wird eine Liste Ihrer privaten Repositorys angezeigt.

  5. Wählen Sie in der Zeile mit dem privaten Repository, das gelöscht werden soll, das Kontrollkästchen aus.

    Stellen Sie sicher, dass Sie das richtige Repository ausgewählt haben, da diese Aktion nicht rückgängig gemacht werden kann.

  6. Klicken Sie auf Repository löschen.