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.
Avant de commencer, effectuez les tâches suivantes.
- Installez l'interface de ligne de commande(CLI)Container Registry pour travailler avec votre espace de noms.
- Configurez votre propre espace de nom dans IBM Cloud Container Registry.
- Installez la dernière version de l'interface CLI d' Helm pour pouvoir utiliser les graphiques.
-
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.
Avant de commencer, effectuez les tâches suivantes.
- Installation de l'interface de ligne de commande pour travailler avec votre espace de nom.
- Configurez votre propre espace de nom dans IBM Cloud Container Registry.
- Installez la dernière version de l'interface CLI d' Helm pour pouvoir utiliser les graphiques.
- Tirez ou créez un graphique sur votre ordinateur local. Si vous créez un graphique, vous devez
le sauvegarder en tant qu'archive à l'aide de la commande
helm packageen utilisant la commande
Pour télécharger (push) un graphique, procédez comme suit :
-
Connectez-vous à la CLI en exécutant la commande suivante, où
DOMAINest le nom de domaine et le nom d'utilisateur (-u) est défini suriamapikey. Pour en savoir plus sur les noms de domaine, voir Régions.helm registry login DOMAIN -u iamapikeyLa 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é.
-
Pour afficher tous les espaces de nom disponibles dans votre compte, exécutez la commande
ibmcloud cr namespace-list. -
Téléchargez le graphique dans votre espace de nom.
helm push MY_CHART_PACKAGE oci://REGION.icr.io/MY_NAMESPACEExemple, où
MY_CHART_PACKAGEestmychart-0.1.0.tgz,REGIONestuk, etMY_NAMESPACEesthelm-charts:helm push mychart-0.1.0.tgz oci://uk.icr.io/helm-chartsSi le message
unauthorized: authentication requiredoudenied: requested access to the resource is denieds'affiche, exécutez la commandeibmcloud 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.
Avant de commencer, effectuez les tâches suivantes.
- Installation de l'interface de ligne de commande pour travailler avec votre espace de nom.
- Configurez votre propre espace de nom dans IBM Cloud Container Registry.
- Installez la dernière version de l'interface CLI d' Helm pour pouvoir utiliser les graphiques.
Pour copier un graphique entre deux registres, suivez les étapes suivantes :
- Extrayez un graphique d'un registre.
- 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 :
-
Connectez-vous à IBM Cloud en exécutant la commande
ibmcloud login. -
Pour supprimer un graphique, exécutez la commande suivante, où
CHARTest le nom du graphique que vous souhaitez supprimer, au formatrepository@digestourepository:tag. Contrairement aux images, une balise doit être spécifiée car la baliselatestn'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 CHARTPour 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 formatrepository:tag. Pour identifier votre graphique par condensé, exécutez la commandeibmcloud 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 formatrepository@digest. -
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.
- Connectez-vous à la console IBM Cloud https://cloud.ibm.com/login à l'aide de votre identifiant IBMid.
- Si vous avez plusieurs comptes IBM Cloud, sélectionnez le compte et la région que vous souhaitez utiliser dans le menu de compte.
- Cliquez sur l'icône du Menu de navigation, puis sur Container Registry.
- 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.
- Dans la ligne contenant le graphique que vous souhaitez supprimer, cochez la case.
- 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.
-
Connectez-vous à IBM Cloud en exécutant la commande
ibmcloud login. -
Vous pouvez supprimer les graphiques de la corbeille en exécutant la commande suivante.
ibmcloud cr trash-list -
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
:
REPO@DIGESTCette option restaure le résumé et toutes ses balises dans le référentiel qui ne figurent pas encore dans le référentiel de production. Pour plus d'informations, consultez la section Restauration des graphiques par résumé.REPO:TAGcette option rétablit la balise. Pour plus d'informations, consultez la section Restauration des graphiques par balise.
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 :
-
Connectez-vous à IBM Cloud en exécutant la commande
ibmcloud login. -
Répertoriez les graphiques dans la corbeille en exécutant la commande suivante.
ibmcloud cr trash-listUn 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é.
-
Notez l'historique du graphique que vous souhaitez restaurer.
-
Exécutez la commande suivante pour restaurer le graphique dans votre référentiel. Où
DNSest le nom de domaine,NAMESPACEest l'espace de nom,REPOest le référentiel, etDIGESTest l'historique du graphique que vous souhaitez restaurer.ibmcloud cr image-restore DNS/NAMESPACE/REPO@DIGESTSi 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.
-
Connectez-vous à IBM Cloud en exécutant la commande
ibmcloud login. -
Répertoriez les graphiques dans la corbeille en exécutant la commande suivante.
ibmcloud cr trash-listUn 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é.
-
Pour le graphique que vous souhaitez restaurer, faites une note de l'historique jusqu'à, mais pas incluse, le signe (
@). Cette partie de l'historique estDNS/NAMESPACE/REPO, oùDNSest le nom de domaine,NAMESPACEest l'espace de nom, etREPOest le référentiel. -
Pour le graphique que vous souhaitez restaurer, notez le tag
TAG. -
Exécutez la commande suivante pour restaurer le graphique dans votre référentiel, où
DNS/NAMESPACE/REPOest le nom du graphique que vous souhaitez restaurer etTAGest la balise.ibmcloud cr image-restore DNS/NAMESPACE/REPO:TAGDans 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.
-
Connectez-vous à la console IBM Cloud https://cloud.ibm.com/login à l'aide de votre identifiant IBMid.
-
Si vous avez plusieurs comptes IBM Cloud, sélectionnez le compte et la région que vous souhaitez utiliser dans le menu de compte.
-
Cliquez sur l'icône du Menu de navigation, puis sur Container Registry.
-
Cliquez sur Référentiels. La liste de vos référentiels privés s'affiche.
-
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.
-
Cliquez sur Supprimer le référentiel.