Cette page explique comment gérer les graphiques Helm 3 enregistrés en tant qu'images de conteneur OCI, y compris comment transférer (importer), extraire (télécharger), lister, ajouter des tags et supprimer des graphiques.
Avant de commencer
- Si le dépôt cible n'existe pas, créez un dépôt. Choisissez Docker comme format de dépôt.
- Vérifiez que vous disposez des autorisations requises pour le dépôt.
- (Facultatif) Configurez des valeurs par défaut pour les commandes gcloud.
Installez Helm 3.8.0 ou version ultérieure. Dans les versions précédentes de Helm, la prise en charge des graphiques au format OCI est une fonctionnalité expérimentale.
Exécutez
helm version
pour valider votre version.Configurez Helm pour vous authentifier auprès d'Artifact Registry.
Créer ou obtenir un graphique
Cette documentation se concentre sur la gestion des images de vos graphiques et suppose que vous disposez de graphiques existants ou que vous maîtrisez la création de graphiques. Pour en savoir plus sur la création de graphiques ou l'obtention de graphiques accessibles au public dans Artifact Hub, consultez les informations suivantes dans la documentation Helm.
- L'utilisation de Helm décrit comment obtenir des graphiques à partir d'Artifact Hub public et personnaliser un graphique avant de l'installer.
- L'onglet Graphiques décrit les graphiques et la création de graphiques.
- Le guide des bonnes pratiques en matière de graphiques décrit les conventions et les bonnes pratiques.
Empaqueter un graphique
Avant de pouvoir transférer un graphique vers Artifact Registry, vous devez l'empaqueter en tant qu'archive de graphique.
Accédez au répertoire qui contient votre graphique.
Empaquetez le graphique.
helm package CHART-PATH
Remplacez CHART-PATH par le chemin d'accès au répertoire contenant votre fichier
Chart.yaml
.
Helm utilise le nom et la version du graphique pour nommer le fichier d'archive. Par exemple, si vous avez un graphique dont le nom est my-chart
et le numéro de version 0.1.0
, le nom du package est my-chart-0.1.0.tgz
.
Vous pouvez maintenant transférer le graphique vers Artifact Registry.
Transférer un graphique
Une fois votre graphique empaqueté, vous pouvez le transférer vers Artifact Registry.
Pour transférer le graphique, exécutez la commande suivante:
helm push my-chart-0.1.0.tgz oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Remplacez les valeurs suivantes :
- LOCATION est l'emplacement régional ou multirégional du dépôt.
- PROJECT est l'ID de votre projet Google Cloud.
Si l'ID du projet contient le signe deux-points (
:
), consultez la section Projets à l'échelle du domaine. - REPOSITORY est le nom du dépôt.
Helm utilise les informations de Chart.yaml
pour le nom et la balise de l'image de conteneur OCI. Prenons l'exemple de commande suivant:
helm push my-chart-0.1.0.tgz oci://us-east4-docker.pkg.dev/my-project/my-repo
Helm importe l'archive du graphique en tant qu'image my-chart
avec le tag 0.1.0
.
Pour vérifier que l'opération de transfert a réussi, répertoriez les images dans le dépôt.
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Extraire des graphiques
Pour générer un graphique:
Exécutez la commande suivante pour extraire l'archive du graphique:
helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \ --version VERSION
Si vous souhaitez extraire l'archive du graphique et son contenu, ajoutez l'indicateur
--untar
.helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \ --version VERSION \ --untar
Remplacez les valeurs suivantes :
- LOCATION est l'emplacement régional ou multirégional du dépôt.
- PROJECT est l'ID de votre projet Google Cloud.
Si l'ID du projet contient le signe deux-points (
:
), consultez la section Projets à l'échelle du domaine. - REPOSITORY est le nom du dépôt où l'image est stockée.
- IMAGE est le nom de l'image dans le dépôt.
- VERSION est la version sémantique du graphique. Cet indicateur est obligatoire. Helm ne permet pas d'extraire un graphique à l'aide d'une balise.
Installer un graphique
Installez un graphique stocké dans Artifact Registry à l'aide de la commande helm install.
helm install RELEASE \
oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--version VERSION
L'exemple suivant installe une version nommée release1
à l'aide de la version 0.1.0
du graphique us-east4-docker.pkg.dev/nyap-test/helm-repo/my-chart
:
helm install release1 oci://us-east4-docker.pkg.dev/nyap-test/helm-repo/my-chart --version 0.1.0
Répertorier des graphiques
Vous pouvez répertorier les graphiques à l'aide de la console Google Cloud ou de la ligne de commande. Si vous stockez des images de conteneurs et des graphiques dans le même dépôt Docker, les deux types d'artefacts apparaissent dans la liste.
Console
Pour afficher les images d'un dépôt:
Ouvrez la page Dépôts de la console Google Cloud.
Cliquez sur le dépôt contenant l'image de conteneur.
Cliquez sur une image pour voir ses versions.
gcloud
Pour répertorier toutes les images du projet, du dépôt et de l'emplacement par défaut lorsque les valeurs par défaut sont configurées:
gcloud artifacts docker images list
Pour répertorier les images d'un dépôt à un emplacement spécifique, exécutez la commande suivante:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Pour répertorier tous les condensés et les tags d'une image spécifique, exécutez la commande suivante:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--include-tags
Remplacez les valeurs suivantes :
- LOCATION est l'emplacement régional ou multirégional du dépôt.
- PROJECT est l'ID de votre projet Google Cloud.
Si l'ID du projet contient le signe deux-points (
:
), consultez la section Projets à l'échelle du domaine. - REPOSITORY est le nom du dépôt où l'image est stockée.
- IMAGE est le nom de l'image dans le dépôt.
--include-tags
affiche toutes les versions des images, y compris les condensés et les tags. Si cet indicateur est omis, la liste renvoyée n'inclut que les images de conteneur de niveau supérieur.
Prenons l'exemple d'une image présentant les caractéristiques suivantes :
- Emplacement du dépôt :
us
- Nom du dépôt :
my-repo
- ID du projet :
my-project
- Nom de l'image :
my-image
Le nom complet du dépôt est le suivant:
us-docker.pkg.dev/my-project/my-repo
Le nom complet de l'image est:
us-docker.pkg.dev/my-project/my-repo/my-image
Pour en savoir plus sur le format du nom d'image, consultez Noms de dépôts et d'images.
Liste des fichiers
Vous pouvez répertorier les fichiers d'un dépôt, les fichiers de toutes les versions d'une image de conteneur spécifiée ou les fichiers d'une version spécifique d'une image.
Pour toutes les commandes suivantes, vous pouvez définir un nombre maximal de fichiers à renvoyer en ajoutant l'option --limit
à la commande.
Pour répertorier tous les fichiers du projet, du dépôt et de l'emplacement par défaut lorsque les valeurs par défaut sont configurées:
gcloud artifacts files list
Pour répertorier les fichiers d'un projet, d'un dépôt et d'un emplacement spécifiés, exécutez la commande suivante:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
Pour répertorier les fichiers de toutes les versions d'une image de conteneur spécifique, procédez comme suit:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
Pour répertorier les fichiers d'une version d'image de conteneur spécifique, procédez comme suit:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
Pour répertorier les fichiers correspondant à une balise spécifique:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--tag=TAG
Remplacez les valeurs suivantes :
- LOCATION est l'emplacement régional ou multirégional du dépôt.
- PROJECT est l'ID de votre projet Google Cloud.
Si l'ID du projet contient le signe deux-points (
:
), consultez la section Projets à l'échelle du domaine. - REPOSITORY est le nom du dépôt où l'image est stockée.
- PACKAGE correspond au nom de l'image.
- VERSION est le condensé de l'image, une chaîne commençant par
sha256:
. - TAG est le tag associé à l'image de conteneur.
Supprimer des images
Dans un dépôt Artifact Registry, vous pouvez supprimer une image de conteneur entière, ou supprimer une version d'image spécifique associée à un tag ou à un condensé. La suppression d'une image est irréversible.
Pour supprimer une image stockée dans Artifact Registry:
Console
Ouvrez la page Dépôts de la console Google Cloud.
Cliquez sur le nom de l'image pour afficher les versions de cette image.
Sélectionnez les versions que vous souhaitez supprimer.
Cliquez sur SUPPRIMER.
Dans la boîte de dialogue de confirmation, cliquez sur SUPPRIMER.
gcloud
Pour supprimer une image et tous ses tags, exécutez la commande suivante :
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE --delete-tags
Pour supprimer une version d'image spécifique, utilisez l'une des commandes suivantes.
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]
ou
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]
Où
- LOCATION est l'emplacement régional ou multirégional du dépôt.
- PROJECT est l'ID de votre projet Google Cloud.
Si l'ID du projet contient le signe deux-points (
:
), consultez la section Projets à l'échelle du domaine. - REPOSITORY est le nom du dépôt où l'image est stockée.
- IMAGE est le nom de l'image dans le dépôt.
- TAG est la balise de la version que vous souhaitez supprimer.
Si plusieurs tags sont associés à la même version d'image, vous devez inclure
--delete-tags
pour la supprimer sans supprimer les tags au préalable. - IMAGE-DIGEST correspond à la valeur de hachage sha256 de la version que vous souhaitez supprimer. Si un tag est associé au condensé de l'image, vous devez inclure
--delete-tags
pour supprimer la version de l'image sans supprimer le tag au préalable. --delete-tags
supprime tous les tags appliqués à la version de l'image. Cet indicateur vous permet de forcer la suppression d'une version d'image dans les cas suivants :- Vous avez spécifié une balise, mais d'autres balises sont associées à la version de l'image.
- Vous avez spécifié un condensé d'image comportant au moins un tag.