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.
{: caption="herunterladen
Führen Sie die folgenden Tasks aus, bevor Sie beginnen.
- Installieren Sie die Container Registry Befehlszeilenschnittstelle(CLI), um mit Ihrem Namespace zu arbeiten.
- Richten Sie einen eigenen Namensbereich in IBM Cloud Container Registry ein.
- Installieren Sie die neueste Version der Helm-CLI, um mit Diagrammen zu arbeiten.
-
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.
{: caption="übertragen
Führen Sie die folgenden Tasks aus, bevor Sie beginnen.
- Installieren Sie die CLI für die Arbeit mit Ihrem Namensbereich.
- Richten Sie einen eigenen Namensbereich in IBM Cloud Container Registry ein.
- Installieren Sie die neueste Version der Helm-CLI, um mit Diagrammen zu arbeiten.
- Ziehen oder erstellen Sie ein Diagramm auf Ihrem lokalen Computer. Wenn Sie ein Diagramm erstellen,
müssen Sie das Diagramm als Archiv speichern, indem Sie den
helm packagebefehl.
Führen Sie die folgenden Schritte aus, um ein Chart (mit einer Push-Operation) hochzuladen:
-
Melden Sie sich an der CLI an, indem Sie den folgenden Befehl ausführen, wobei
DOMAINder Domänenname ist und der Benutzername (-u) aufiamapikeygesetzt ist. Weitere Informationen zu den Domänennamen finden Sie unter Regionen.helm registry login DOMAIN -u iamapikeyDer 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.
-
Führen Sie den Befehl
ibmcloud cr namespace-listaus, um alle in Ihrem Konto verfügbaren Namensbereiche anzuzeigen. -
Laden Sie das Chart in Ihren Namensbereich hoch.
helm push MY_CHART_PACKAGE oci://REGION.icr.io/MY_NAMESPACEBeispiel, bei dem für
MY_CHART_PACKAGEder Wertmychart-0.1.0.tgz, fürREGIONder Wertukund fürMY_NAMESPACEder Werthelm-chartsverwendet wird:helm push mychart-0.1.0.tgz oci://uk.icr.io/helm-chartsWenn die Nachricht
unauthorized: authentication requiredoderdenied: requested access to the resource is deniedausgegeben wird, führen Sie den Befehlibmcloud cr loginaus.
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.
Führen Sie die folgenden Tasks aus, bevor Sie beginnen.
- Installieren Sie die CLI für die Arbeit mit Ihrem Namensbereich.
- Richten Sie einen eigenen Namensbereich in IBM Cloud Container Registry ein.
- Installieren Sie die neueste Version der Helm-CLI, um mit Diagrammen zu arbeiten.
Gehen Sie wie folgt vor, um ein Chart zwischen zwei Registrys zu kopieren:
- Extrahieren Sie ein Chart mit einer Pull-Operation aus einer Registry.
- Ü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:
-
Melden Sie sich bei IBM Cloud an, indem Sie den Befehl
ibmcloud loginausführen. -
Führen Sie zum Löschen eines Charts den folgenden Befehl aus, wobei
CHARTder Name des zu entfernenden Charts im Formatrepository@digestoderrepository:tagist. Im Gegensatz zu Images muss ein Tag angegeben werden, da der Taglatestnicht 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 CHARTFühren Sie
ibmcloud cr image-listaus, 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 Formatrepository:tagzu erstellen. Führen Sie den Befehlibmcloud cr image-digestsaus, 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 Formatrepository@digestzu erstellen. -
Ü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:
- Melden Sie sich mit Ihrem IBMid bei der IBM Cloud-Konsole unter https://cloud.ibm.com/login an.
- 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.
- Klicken Sie auf das Symbol Navigationsmenü und dann auf Container Registry.
- 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.
- Wählen Sie in der Zeile, die das zu löschende Chart enthält, das Kontrollkästchen aus.
- 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:
-
Melden Sie sich bei IBM Cloud an, indem Sie den Befehl
ibmcloud loginausführen. -
Sie können die Diagramme im Papierkorb auflisten, indem Sie den folgenden Befehl ausführen.
ibmcloud cr trash-list -
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:
REPO@DIGESTDiese Option stellt den Digest und alle zugehörigen Tags im Repository wieder her, die noch nicht im Live-Repository vorhanden sind. Weitere Informationen finden Sie unter Wiederherstellen von Diagrammen anhand des Digests.REPO:TAGdiese Option stellt die Markierung wieder her. Weitere Informationen finden Sie unter Diagramme nach Tag wiederherstellen.
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:
-
Melden Sie sich bei IBM Cloud an, indem Sie den Befehl
ibmcloud loginausführen. -
Listen Sie die Charts im Papierkorb auf, indem Sie den folgenden Befehl ausführen.
ibmcloud cr trash-listDaraufhin 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.
-
Notieren Sie den Digest für das Chart, das Sie wiederherstellen möchten.
-
Führen Sie den folgenden Befehl aus, um das Chart in Ihrem Repository wiederherzustellen. Dabei ist
DNSder Domänenname,NAMESPACEder Namensbereich,REPOdas Repository undDIGESTder Digest des Charts, das Sie wiederherstellen möchten.ibmcloud cr image-restore DNS/NAMESPACE/REPO@DIGESTFalls 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-digestsausfü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.
-
Melden Sie sich bei IBM Cloud an, indem Sie den Befehl
ibmcloud loginausführen. -
Listen Sie die Charts im Papierkorb auf, indem Sie den folgenden Befehl ausführen.
ibmcloud cr trash-listDaraufhin 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.
-
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 lautetDNS/NAMESPACE/REPO, wobeiDNSder Domänenname,NAMESPACEder Namensbereich undREPOdas Repository ist. -
Notieren Sie sich für das Diagramm, das Sie wiederherstellen möchten, das Tag
TAG. -
Führen Sie den folgenden Befehl aus, um das Chart in Ihrem Repository wiederherzustellen. Dabei steht
DNS/NAMESPACE/REPOfür den Namen des wiederherzustellenden Charts undTAGfür den Tag.ibmcloud cr image-restore DNS/NAMESPACE/REPO:TAGIn Ihrem Live-Repository können Sie das Chart per Pull-Operation über den Tag abrufen.
Wenn Sie den Befehl
ibmcloud cr trash-listausfü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:
-
Melden Sie sich mit Ihrem IBMid bei der IBM Cloud-Konsole unter https://cloud.ibm.com/login an.
-
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.
-
Klicken Sie auf das Symbol Navigationsmenü und dann auf Container Registry.
-
Klicken Sie auf Repositorys. Es wird eine Liste Ihrer privaten Repositorys angezeigt.
-
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.
-
Klicken Sie auf Repository löschen.