For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/containers-orchestration/managed-private-registry/helm-charts.md.

Gérer les charts Helm dans OVHcloud Managed Private Registry

Voir en Markdown

Découvrez comment gérer les charts Helm dans OVHcloud Managed Private Registry

Le service OVHcloud Managed Private Registry est un registre cloud-native composite qui prend en charge à la fois la gestion des images de conteneurs et celle des charts Helm.

Ce guide explique comment gérer les charts Helm dans le service OVHcloud Managed Private Registry : comment envoyer des charts et comment les utiliser.

Avant de commencer

Ce tutoriel suppose que vous disposez déjà d'un cluster OVHcloud Managed Kubernetes fonctionnel et que vous savez l'utiliser. Pour en savoir plus sur ces sujets, consultez la documentation Déployer une application Hello World. Helm doit être installé sur votre cluster (consultez le guide « Installer Helm » pour plus d'informations).

Vous devez également disposer d'un OVHcloud Managed Private Registry fonctionnel et avoir suivi les guides Créer un registre privé, Se connecter à l'interface, Gérer les utilisateurs et les projets, Créer et utiliser des images privées et Utiliser Managed Private Registry avec OVHcloud Managed Kubernetes.

Prérequis

Installer Helm v3.8+

Vérifiez que Helm est installé dans la version requise :

$ helm version
version.BuildInfo{Version:"v3.12.0", GitCommit:"c9f554d75773799f72ceef38c51210f1842a1dea", GitTreeState:"clean", GoVersion:"go1.20.3"}

Si la version est antérieure à v3.8.0, suivez les instructions officielles pour installer Helm dans sa dernière version.

En pratique

Préparer un chart Helm

Pour réaliser ce tutoriel, vous avez besoin d'un chart Helm à envoyer dans votre OVHcloud Managed Private Registry.

Si vous disposez déjà d'un chart Helm sur votre système de fichiers, vous pouvez l'utiliser pour l'exemple. Dans cette section, nous partons du principe que vous n'en avez aucun. Nous utilisons un chart Helm bien connu, souvent pris comme exemple : le chart WordPress.

Télécharger le chart

La première étape consiste à télécharger le chart WordPress à l'aide de helm :

helm fetch bitnami/wordpress

Le chart Helm WordPress est téléchargé sous la forme d'un fichier tgz.

$ helm fetch bitnami/wordpress

$ ls
wordpress-18.1.14.tgz

Inspecter le chart (facultatif)

Le fichier que vous avez téléchargé est un chart Helm empaqueté, pratique pour le télécharger et pour l'envoyer dans votre OVHcloud Managed Private Registry. Décompressons-le afin d'y jeter un œil et de mieux comprendre sa structure.

Un chart décompressé est organisé comme un ensemble de fichiers dans un répertoire. Le nom du répertoire est le nom du chart (sans information de version). Le chart décrivant WordPress doit donc être stocké dans un dossier « wordpress/ ».

À l'intérieur de ce répertoire, Helm attend une structure correspondant à celle-ci :

wordpress/
  Chart.yaml          # A YAML file containing information about the chart
  LICENSE             # OPTIONAL: A plain text file containing the license for the chart
  README.md           # OPTIONAL: A human-readable README file
  values.yaml         # The default configuration values for this chart
  values.schema.json  # OPTIONAL: A JSON Schema for imposing a structure on the values.yaml file
  charts/             # A directory containing any charts upon which this chart depends.
  crds/               # Custom Resource Definitions
  templates/          # A directory of templates that, when combined with values,
                      # will generate valid Kubernetes manifest files.
  templates/NOTES.txt # OPTIONAL: A plain text file containing short usage notes

Décompressons le chart Helm :

tar zxf wordpress-18.1.14.tgz

Comme prévu, le fichier est décompressé dans un dossier wordpress, contenant les fichiers et dossiers requis :

$ tar zxf wordpress-18.1.14.tgz

$ ls -l
total 132
drwxr-xr-x 4 avache staff   4096 Nov 14 19:07 wordpress
-rw-r--r-- 1 avache staff 130981 Nov 14 19:07 wordpress-18.1.14.tgz

$ ls -l wordpress
total 148
-rw-r--r-- 1 avache staff   405 Nov 14 01:02 Chart.lock
drwxr-xr-x 5 avache staff  4096 Nov 14 19:07 charts
-rw-r--r-- 1 avache staff  1287 Nov 14 01:02 Chart.yaml
-rw-r--r-- 1 avache staff 73911 Nov 14 01:02 README.md
drwxr-xr-x 2 avache staff  4096 Nov 14 19:07 templates
-rw-r--r-- 1 avache staff  5706 Nov 14 01:02 values.schema.json
-rw-r--r-- 1 avache staff 48675 Nov 14 01:02 values.yaml

Vous pouvez maintenant supprimer le fichier tgz, puisque nous allons le recréer.

Pour empaqueter un chart depuis un répertoire de chart, utilisez helm package :

helm package wordpress

Le chart empaqueté est créé, avec la version ajoutée au nom du fichier :

$ helm package wordpress
Successfully packaged chart and saved it to: /Users/avache/tmp/test-doc-k8s/helm/wordpress-18.1.14.tgz

Gérer les charts Helm via la CLI Helm

Connexion

Avant de pouvoir faire un pull ou un push de charts Helm, connectez-vous à Harbor :

helm registry login <registry url>

Par exemple :

helm registry login https://8xghzr01.c1.bhs5.container-registry.ovh.net

Push d'un chart Helm

Envoyez un chart dans un registre :

helm push <chart name>-<version>.tgz oci://<registry url>/<project>

Par exemple, pour pousser le chart Helm WordPress en version « 18.1.14 » dans le projet Harbor nommé « private » :

helm push wordpress-18.1.14.tgz oci://8xghzr01.c1.bhs5.container-registry.ovh.net/private

Pull d'un chart Helm

Téléchargez un chart depuis un registre :

helm pull oci://<registry url>/<project>/<chart name> --version <version>

Par exemple, pour récupérer le chart Helm WordPress en version « 18.1.14 » depuis le projet Harbor nommé « private » :

helm pull oci://8xghzr01.c1.bhs5.container-registry.ovh.net/private/wordpress --version 18.1.14

Un nouveau fichier doit apparaître :

$ ls -l

-rw-r--r-- 1 avache staff 130981 Nov 14 19:11 wordpress-18.1.14.tgz

Installation d'un chart Helm

Installez un chart sur un cluster Kubernetes :

helm install myrelease oci://<registry url>/<project>/<chart name> --version <version>

Par exemple, pour installer le chart Helm WordPress en version « 18.1.14 » depuis le projet Harbor nommé « private » :

helm install myrelease oci://8xghzr01.c1.bhs5.container-registry.ovh.net/private/wordpress --version 18.1.14

Gérer les charts Helm via l'interface Harbor

Les charts poussés dans le registre compatible OCI de Harbor sont traités comme n'importe quel autre type d'artefact.

Nous pouvons les lister, les copier, les supprimer, modifier leurs labels, obtenir leurs détails, ajouter ou retirer des tags, exactement comme pour les images de conteneurs.

Dans l'exemple suivant, nous avons poussé le chart Helm WordPress en version 18.1.14 et l'image Docker WordPress en version 6.4.1 :

Liste des projets

Cliquez sur le nom du projet private pour lister ses dépôts :

Liste des dépôts du projet

Cliquez ensuite sur le nom du dépôt private/wordpress pour afficher ses 2 artefacts : l'image Docker et le chart Helm. Le logo à gauche du hash de l'artefact permet de les différencier :

Liste des artefacts du dépôt du projet

Enfin, cliquez sur le hash du second artefact pour afficher les détails du chart Helm :

Détails de la version du chart - Values

Aller plus loin

Pour obtenir une vue d'ensemble du service OVHcloud Managed Private Registry, consultez le site OVHcloud Managed Private Registry.

Cette page vous a-t-elle aidé ?