Utilisation des graphiques Helm dans Container Registry

Vous pouvez stocker et partager en toute sécurité des graphiques Helm avec d'autres utilisateurs dans IBM Cloud® Container Registry.

Prise en charge de l'OCI pour les graphiques Helm

L' Open Container Initiative(OCI) a publié la spécification de distribution de l'Open Container Initiative v1.0.0 en septembre 2021. Cette spécification prend en charge d'autres types d'artéfact en plus des images de conteneur. L'un des types d'artefact pris en charge est le graphique Helm.

Helm v3.8.0 permet de stocker et d'utiliser les cartes dans les registres OCI, au lieu des dépôts de cartes de Helm. Pour plus d'informations, voir la documentation de Helm Registries.

Ajout de graphiques Helm à votre espace de nom

Vous pouvez stocker et partager en toute sécurité des graphiques d' Helm s avec d'autres utilisateurs en les ajoutant à votre espace de nomsUne collection de référentiels stockant des images dans un registre. Un espace de nom est associé à un compte IBM Cloud, qui peut inclure plusieurs espaces de nom. sur IBM Cloud Container Registry.

Chaque graphique Helm que vous souhaitez ajouter à votre espace de nom doit d'abord exister sur votre ordinateur local. Vous pouvez soit télécharger (extraire) un graphique depuis un autre référentiel vers votre ordinateur local, soit créer votre propre graphique à l'aide de la commande helm create. Pour ajouter un graphique à votre espace de nom, vous devez télécharger (push) le graphique local vers votre espace de nom dans IBM Cloud Container Registry.

Ne placez pas d'informations personnelles dans vos graphiques (par exemple, dans des noms d'espace de nom ou dans des zones de description) ou dans des données de configuration de graphique ou de graphique (par exemple, des noms de graphiques ou des libellés de graphiques).

Extraction de graphiques à partir d'un autre registre ou d'un référentiel Helm

Vous pouvez extraire (télécharger) un diagramme depuis n'importe quelle source de registreService de stockage et de distribution contenant des images publiques ou privées utilisées pour créer des conteneurs. privée ou publique ou depuis un référento Helm, puis l'enregistrer sur votre ordinateur afin de pouvoir l'utiliser ultérieurement dans IBM Cloud Container Registry.

Récupérez un graphique depuis un registre privé ou public ou depuis un référentiel Helm vers votre ordinateur.
Récupérer des graphiques depuis un autre registre

Avant de commencer, effectuez les tâches suivantes.

  1. Téléchargez le graphique Helm sur votre ordinateur local.

    • Téléchargez le tableau Helm à partir du registre OCI :
        helm pull oci://REGISTRY/MY_NAMESPACE/CHART_NAME --version CHART_VERSION
        ```
    
        Exemple, où `REGISTRY` est `localhost:5000`, `MY_NAMESPACE` est `helm-charts`, `CHART_NAME` est `mychart`, et `CHART_VERSION` est `0.1.0`:
    
        ```sh {: pre}
        helm pull oci://localhost:5000/helm-charts/mychart --version 0.1.0
        ```
    - Téléchargez le graphique Helm à partir d'un dépôt Helm:
    
    ```sh
        helm pull [CHART_URL | REPO/CHART_NAME] --version CHART_VERSION
        ```
    
        Exemple, où `REPO/CHART_NAME` est `ibm-charts/ibm-istio` et `CHART_VERSION` est `1.2.2`.
    
        Vous pouvez ajouter l'alias du repo en utilisant la commande [`helm repo add`](https://helm.sh/docs/helm/helm_repo_add/){: external} en utilisant la commande
        {: tip}
    
        ```sh {: pre}
        helm pull ibm-charts/ibm-istio  --version 1.2.2
        ```
    Si vous obtenez un message `unauthorized: authentication required` ou `denied: requested access to the resource is denied`, exécutez la commande [`ibmcloud cr login`](/docs/Registry?topic=Registry-containerregcli#bx_cr_login).
    {: tip}
    
    

Une fois que vous avez tiré un graphique pour votre Espace de nom, vous pouvez télécharger (push) le graphique de votre ordinateur local vers votre espace de nom.

Insertion de graphiques Helm dans votre espace de nom

Vous pouvez pousser (télécharger) un graphique depuis votre ordinateur vers votre espace de noms dans IBM Cloud Container Registry pour stocker votre graphique et le partager avec d'autres utilisateurs.

Transférez un graphique depuis votre ordinateur vers
Transférez des graphiques vers votre espace
de noms

Avant de commencer, effectuez les tâches suivantes.

Pour télécharger (push) un graphique, procédez comme suit :

  1. Connectez-vous à la CLI en exécutant la commande suivante, où DOMAIN est le nom de domaine et le nom d'utilisateur (-u) est défini sur iamapikey. Pour en savoir plus sur les noms de domaine, voir Régions.

    helm registry login DOMAIN -u iamapikey
    

    La commande vous invite ensuite à saisir le mot de passe, qui est la clé API IAM.

    Vous devez vous connecter si vous extrayez un graphique de votre IBM Cloud Container Registryprivé.

  2. Pour afficher tous les espaces de nom disponibles dans votre compte, exécutez la commande ibmcloud cr namespace-list.

  3. Téléchargez le graphique dans votre espace de nom.

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

    Exemple, où MY_CHART_PACKAGE est mychart-0.1.0.tgz, REGION est uk, et MY_NAMESPACE est helm-charts:

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

    Si le message unauthorized: authentication required ou denied: requested access to the resource is denied s'affiche, exécutez la commande ibmcloud cr login.

Une fois que vous avez inséré votre graphique dans IBM Cloud Container Registry, vous pouvez Installer le graphique Helm dans le cluster dans IBM Cloud Kubernetes Service.

Copie de graphiques entre des registres

Vous pouvez copier des graphiques d'un registre à l'autre en récupérant un graphique depuis un registre situé dans une région et en le transférant vers un registre situé dans une autre région, ce qui vous permet de partager ce graphique avec les utilisateurs des deux régions.

Copie de graphiques entre registres.
Copie de graphiques entre registres

Avant de commencer, effectuez les tâches suivantes.

Pour copier un graphique entre deux registres, suivez les étapes suivantes :

  1. Extrayez un graphique d'un registre.
  2. Insérez le graphique dans un autre registre. Veillez à utiliser le nom de domaine correct pour la nouvelle région que vous ciblez.

Une fois que vous avez copié le graphique, vous pouvez installer le graphique Helm sur le cluster dans IBM Cloud Kubernetes Service.

Installation d'un graphique Helm sur le cluster

Vous pouvez installer un graphique Helm sur le cluster dans IBM Cloud Kubernetes Service directement à partir du registre. Suivez les instructions du graphique Helm READMEet utilisez la référence de registre complète à la version du graphique et du graphique pour l'installation.

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

Exemple, où RELEASE_NAME est myrelease, REGION est uk, MY_NAMESPACE est helm-charts, CHART_NAME est mychart, et CHART_VERSION est 0.1.0:

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

Suppression de graphiques de votre référentiel privé

Vous pouvez supprimer des graphiques indésirables de votre référentielIBM Cloud privé à l'aide de la console IBM Cloud ou de l'interface de ligne de commande.

Si vous souhaitez supprimer un référentiel privé et ses graphiques associés, voir Suppression d'un référentiel privé et des graphiques associés.

La suppression d'un graphique utilisé par un déploiement existant peut entraîner l'échec d'une mise à niveau, d'une annulation ou d'une suppression Helm.

Si vous souhaitez restaurer un graphique supprimé, vous pouvez répertorier le contenu de la corbeille en exécutant la commande ibmcloud cr trash-list et restaurer un graphique sélectionné en exécutant la commande ibmcloud cr image-restore. Vous pouvez utiliser ces commandes car les graphiques Helm sont un type d'artéfact pris en charge en OCI.

Il n'est pas possible de supprimer des graphiques depuis la corbeille. Les graphiques sont conservés dans la corbeille pendant 30 jours. Les dossiers qui se trouvent dans la corbeille ne vous sont pas facturés.

Lorsqu'il existe plusieurs balisesIdentificateur défini par l'utilisateur associé à un regroupement de ressources qui sont contenues dans un compte. Les étiquettes sont visibles dans l'ensemble du compte. pour le même résumé de graphique au sein d'un référentiel, la commande ibmcloud cr image-rm supprime le graphique sous-jacent et toutes ses balises. Si le même graphique existe dans un autre référentiel ou espace de noms, la copie du graphique n'est pas supprimée.

Une balise doit toujours correspondre à la version sémantique du tableau, ce qui signifie qu'aucune balise latest n'est utilisée.

Suppression de graphiques de votre référentiel privé à l'aide de l'interface de ligne de commande

Vous pouvez supprimer des graphiques indésirables et toutes leurs balises de votre référentiel IBM Cloud privé à l'aide de l'interface de ligne de commande.

La suppression d'un graphique utilisé par un déploiement existant peut entraîner l'échec d'une mise à niveau, d'une annulation ou d'une suppression Helm.

Si vous souhaitez restaurer un graphique supprimé, vous pouvez répertorier le contenu de la corbeille en exécutant la commande ibmcloud cr trash-list et restaurer un graphique sélectionné en exécutant la commande ibmcloud cr image-restore.

Pour supprimer un graphique à l'aide de l'interface de ligne de commande, procédez comme suit :

  1. Connectez-vous à IBM Cloud en exécutant la commande ibmcloud login.

  2. Pour supprimer un graphique, exécutez la commande suivante, où CHART est le nom du graphique que vous souhaitez supprimer, au format repository@digest ou repository:tag. Contrairement aux images, une balise doit être spécifiée car la balise latest n'existe pas car une balise doit toujours correspondre à la version sémantique du graphique. Vous pouvez supprimer plusieurs graphiques en répertoritant chaque chemin de registre IBM Cloud privé dans la commande avec un espace entre chaque chemin.

    ibmcloud cr image-rm CHART
    

    Pour rechercher les noms de vos graphiques, exécutez ibmcloud cr image-list. Le registre stocke différents types d'artefact qui incluent des graphiques Helm et des images de conteneur. Combinez le contenu de la colonne Référentiel (repository) et de la colonne Balise (tag) séparées par un signe deux-points (:) pour créer le nom de l'image au format repository:tag. Pour identifier votre graphique par condensé, exécutez la commande ibmcloud cr image-digests. Combinez le contenu de la colonne Référentiel (repository) et de la colonne Condensé (digest) séparées par un symbole d'arrobas (@) pour créer le nom de l'image au format repository@digest.

  3. Vérifiez que le graphique ait été supprimé en exécutant la commande suivante et vérifiez que le graphique ne figure plus dans la liste.

    ibmcloud cr image-list
    

Suppression de graphiques de votre référentiel privé dans la console d' IBM Cloud

Vous pouvez supprimer des graphiques indésirables et toutes leurs balises de votre référentiel IBM Cloud privé à l'aide de la console IBM Cloud.

La suppression d'un graphique utilisé par un déploiement existant peut entraîner l'échec d'une mise à niveau, d'une annulation ou d'une suppression Helm.

Si vous souhaitez restaurer un graphique supprimé, vous pouvez répertorier le contenu de la corbeille en exécutant la commande ibmcloud cr trash-list et restaurer un graphique sélectionné en exécutant la commande ibmcloud cr image-restore.

Pour supprimer un graphique à l'aide de la console IBM Cloud, procédez comme suit.

  1. Connectez-vous à la console IBM Cloud https://cloud.ibm.com/login à l'aide de votre identifiant IBMid.
  2. Si vous avez plusieurs comptes IBM Cloud, sélectionnez le compte et la région que vous souhaitez utiliser dans le menu de compte.
  3. Cliquez sur l'icône du Menu de navigation, puis sur Container Registry.
  4. Cliquez sur Images. Une liste de vos graphiques (et des images s'ils existent) s'affiche. Le registre stocke différents types d'artefact qui incluent des graphiques Helm et des images de conteneur.
  5. Dans la ligne contenant le graphique que vous souhaitez supprimer, cochez la case.
  6. Cliquez sur Supprimer l'image.

Liste des graphiques dans la corbeille

Vous pouvez répertorier les graphiques supprimés qui sont dans la corbeille et voir quand ils expirent.

Pour savoir quels graphiques sont dans la corbeille, vous pouvez utiliser la commande ibmcloud cr trash-list. Les graphiques sont conservés dans la corbeille pendant 30 jours.

Pour afficher les graphiques dans la corbeille, procédez comme suit.

  1. Connectez-vous à IBM Cloud en exécutant la commande ibmcloud login.

  2. Vous pouvez supprimer les graphiques de la corbeille en exécutant la commande suivante.

    ibmcloud cr trash-list
    
  3. Vous pouvez répertorier uniquement les graphiques placés dans la corbeille pour l'espace de noms qui vous intéresse en exécutant la commande suivante, où correspond NAMESPACE à votre espace de noms.

    ibmcloud cr trash-list --restrict NAMESPACE
    

Restauration de graphiques

Vous pouvez restaurer les graphiques à partir de la corbeille. Les graphiques supprimés sont stockés dans la corbeille pendant 30 jours.

Vous pouvez restaurer un graphique à partir de la corbeille en exécutant la commande ibmcloud cr image-restore. Pour savoir quels graphiques sont dans la corbeille, exécutez la commande ibmcloud cr trash-list.

Vous pouvez restaurer les graphiques en exécutant la commande ibmcloud cr image-restore en exécutant la commande Vous pouvez utiliser les options suivantes :

Restauration des graphiques par historique

Lorsque vous restaurez un graphique par condensé, le condensé est déplacé de la corbeille vers votre référentiel actif et toutes les balises du condensé dans le référentiel sont restaurées.

Pour restaurer un graphique par historique à partir de la corbeille, procédez comme suit :

  1. Connectez-vous à IBM Cloud en exécutant la commande ibmcloud login.

  2. Répertoriez les graphiques dans la corbeille en exécutant la commande suivante.

    ibmcloud cr trash-list
    

    Un tableau s'affiche qui montre les éléments de la corbeille. Il indique le condensé, le nombre de jours avant expiration, ainsi que les étiquettes du condensé.

  3. Notez l'historique du graphique que vous souhaitez restaurer.

  4. Exécutez la commande suivante pour restaurer le graphique dans votre référentiel. Où DNS est le nom de domaine, NAMESPACE est l'espace de nom, REPO est le référentiel, et DIGEST est l'historique du graphique que vous souhaitez restaurer.

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

    Si certaines balises ne sont pas restaurées, consultez la rubrique Pourquoi toutes les balises ne sont-elles pas restaurées lorsque j'effectue une restauration à partir d'un résumé? pour obtenir de l'aide.

    Dans votre référentiel actif, vous pouvez extraire le graphique par l'historique. Si vous exécutez la commande ibmcloud cr image-digests, le graphique s'affiche dans le résultat.

Restauration de graphiques par balise

Lorsque vous restaurez un graphique par balise, seule cette balise spécifique est déplacée hors de la corbeille dans votre référentiel actif.

Pour restaurer un graphique par balise à partir de la corbeille, procédez comme suit.

  1. Connectez-vous à IBM Cloud en exécutant la commande ibmcloud login.

  2. Répertoriez les graphiques dans la corbeille en exécutant la commande suivante.

    ibmcloud cr trash-list
    

    Un tableau s'affiche qui montre les éléments de la corbeille. Il indique le condensé, le nombre de jours avant expiration, ainsi que les étiquettes du condensé.

  3. Pour le graphique que vous souhaitez restaurer, faites une note de l'historique jusqu'à, mais pas incluse, le signe (@). Cette partie de l'historique est DNS/NAMESPACE/REPO, où DNS est le nom de domaine, NAMESPACE est l'espace de nom, et REPO est le référentiel.

  4. Pour le graphique que vous souhaitez restaurer, notez le tag TAG.

  5. Exécutez la commande suivante pour restaurer le graphique dans votre référentiel, où DNS/NAMESPACE/REPO est le nom du graphique que vous souhaitez restaurer et TAG est la balise.

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

    Dans votre référentiel actif, vous pouvez extraire le graphique par balise.

    Si vous exécutez la commande ibmcloud cr trash-list, le condensé et les autres étiquettes s'affichent dans la sortie mais l'étiquette n'est plus affichée.

Suppression d'un référentiel privé et des graphiques associés

Vous pouvez supprimer des référentiels privés qui ne sont plus requis, ainsi que les graphiques associés, à l'aide de la console IBM Cloud.

Lorsque vous supprimez un référentiel, tous les graphiques de ce référentiel sont supprimés. Cette action est irréversible.

Avant de commencer, vous devez sauvegarder les graphiques que vous souhaitez conserver.

Pour supprimer un référentiel privé à l'aide de la console IBM Cloud, procédez comme suit.

  1. Connectez-vous à la console IBM Cloud https://cloud.ibm.com/login à l'aide de votre identifiant IBMid.

  2. Si vous avez plusieurs comptes IBM Cloud, sélectionnez le compte et la région que vous souhaitez utiliser dans le menu de compte.

  3. Cliquez sur l'icône du Menu de navigation, puis sur Container Registry.

  4. Cliquez sur Référentiels. La liste de vos référentiels privés s'affiche.

  5. Sur la ligne qui contient le référentiel privé à supprimer, cochez la case.

    Cette action ne peut pas être annulée, par conséquent, vérifiez que le référentiel sélectionné est bien celui que vous souhaitez supprimer.

  6. Cliquez sur Supprimer le référentiel.