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-kubernetes/install-helm.md.

Installer et utiliser Helm sur OVHcloud Managed Kubernetes

Voir en Markdown

Découvrez comment installer et utiliser Helm sur OVHcloud Managed Kubernetes

Helm est un gestionnaire de paquets pour Kubernetes. Il fonctionne avec des paquets de ressources Kubernetes préconfigurées, appelés charts Helm.

Avec Helm, vous pouvez :

Avant de commencer

Ce tutoriel suppose que vous disposez déjà d'un cluster OVHcloud Managed Kubernetes fonctionnel, ainsi que de connaissances de base sur son utilisation. Pour en savoir plus sur ces sujets, consultez le guide de démarrage rapide OVHcloud Managed Kubernetes Service.

Nous supposons que la variable d'environnement KUBECONFIG pointe vers votre fichier de configuration kubectl, comme décrit dans le guide de démarrage rapide. Si ce n'est pas le cas, vous pouvez utiliser l'option --kubeconfig [LOCATION_OF_CONFIG_FILE] avec les commandes kubectl et helm.

Concepts Helm

Helm repose sur trois grands concepts : les charts, les repositories et les releases.

Schéma Helm

Un chart est un paquet Helm. Il contient toutes les définitions de ressources nécessaires à l'exécution d'une application, d'un outil ou d'un service au sein d'un cluster Kubernetes. C'est l'équivalent, pour Helm, d'un paquet Debian pour Linux, d'un fichier Maven pour Java ou d'un package.json pour Node.js.

Les charts sont stockés dans des repositories, où ils peuvent être partagés. Les repositories sont l'équivalent, pour Helm, du registre NPM pour Node.js ou de Maven Central pour Java.

Lorsqu'un chart est installé dans un cluster Kubernetes, l'instance en cours d'exécution est appelée une release. Plusieurs releases d'un même chart peuvent être installées simultanément dans un cluster (pensez par exemple à plusieurs instances du chart WordPress pour plusieurs blogs différents s'exécutant dans le cluster).

Installer Helm

Warning

Ce guide suppose que vous utilisez Helm 3, la dernière version majeure de Helm. La version historique Helm 2 est considérée comme obsolète. Si vous souhaitez utiliser Helm 2, reportez-vous à la documentation officielle.

Installez la CLI Helm sur votre machine, à partir d'un gestionnaire de paquets :

Homebrew (macOS)
Apt (Debian/Ubuntu)
Scoop (Windows)
brew install helm

Vous pouvez également installer la CLI Helm à partir des binaires publiés.

Pour vérifier que la CLI helm est correctement installée localement, vous pouvez afficher sa version :

helm version

Vous pouvez afficher la version installée :

$ helm version
version.BuildInfo{Version:"v3.14.2", GitCommit:"c309b6f0ff63856811846ce18f3bdc93d2b4d54b", GitTreeState:"clean", GoVersion:"go1.22.0"}

Utilisation

Vous avez installé la CLI Helm sur votre machine ; vous pouvez maintenant l'utiliser pour déployer des applications dans un cluster OVHcloud Managed Kubernetes.

Ajouter un repository de charts Helm

Une fois Helm installé sur votre machine, vous pouvez ajouter un repository de charts. La façon la plus simple de commencer avec Helm est d'ajouter le repository Bitnami :

helm repo add bitnami https://charts.bitnami.com/bitnami

Une fois le repository ajouté, exécutez helm repo update pour vous assurer d'obtenir la dernière liste des charts.

$ helm repo add bitnami https://charts.bitnami.com/bitnami
"bitnami" has been added to your repositories

$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "bitnami" chart repository
Update Complete. ⎈ Happy Helming!⎈

Installer un chart d'exemple dans un MKS OVHcloud

Validez votre installation Helm en installant un chart d'exemple, celui de Redis officiel, sans persistance, dans votre cluster OVHcloud Managed Kubernetes :

helm install test-redis bitnami/redis --set master.persistence.enabled=false

Cela installe l'application test-redis dans le cluster Kubernetes et vous fournit des commandes et paramètres utiles pour votre nouvelle base de données Redis :

$ helm install test-redis bitnami/redis --set master.persistence.enabled=false
NAME: test-redis
LAST DEPLOYED: Tue Mar 12 13:51:24 2024
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: redis
CHART VERSION: 18.19.2
APP VERSION: 7.2.4

** Please be patient while the chart is being deployed **

Redis® can be accessed on the following DNS names from within your cluster:

    test-redis-master.default.svc.cluster.local for read/write operations (port 6379)
    test-redis-replicas.default.svc.cluster.local for read-only operations (port 6379)



To get your password run:

    export REDIS_PASSWORD=$(kubectl get secret --namespace default test-redis -o jsonpath="{.data.redis-password}" | base64 -d)

To connect to your Redis® server:

1. Run a Redis® pod that you can use as a client:

   kubectl run --namespace default redis-client --restart='Never'  --env REDIS_PASSWORD=$REDIS_PASSWORD  --image docker.io/bitnami/redis:7.2.4-debian-12-r9 --command -- sleep infinity

   Use the following command to attach to the pod:

   kubectl exec --tty -i redis-client \
   --namespace default -- bash

2. Connect using the Redis® CLI:
   REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h test-redis-master
   REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h test-redis-replicas

To connect to your database from outside the cluster execute the following commands:

    kubectl port-forward --namespace default svc/test-redis-master 6379:6379 &
    REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h 127.0.0.1 -p 6379

WARNING: There are "resources" sections in the chart not set. Using "resourcesPreset" is not recommended for production. For production installations, please set the following values according to your workload needs:
  - master.resources
  - replica.resources
+info https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

Vérifier votre Redis

Après avoir installé le chart dans le cluster MKS, suivez les instructions affichées dans votre console pour tester votre déploiement Redis, puis supprimez-le une fois vos tests terminés.

$ export REDIS_PASSWORD=$(kubectl get secret --namespace default test-redis -o jsonpath="{.data.redis-password}" | base64 -d)

$ kubectl run --namespace default redis-client --restart='Never'  --env REDIS_PASSWORD=$REDIS_PASSWORD  --image docker.io/bitnami/redis:7.2.4-debian-12-r9 --command -- sleep infinity
pod/redis-client created

$ kubectl exec --tty -i redis-client --namespace default -- bash

I have no name!@redis-client:/$ REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h test-redis-master
test-redis-master:6379> ping
PONG
test-redis-master:6379> exit
I have no name!@redis-client:/$

I have no name!@redis-client:/$ exit
exit

$ kubectl delete pod redis-client
pod "redis-client" deleted

Suppression (nettoyage)

Pour nettoyer votre cluster, supprimez simplement votre installation Redis. Vous pouvez utiliser helm list pour obtenir la release Redis dans le namespace courant, puis helm delete [REDIS_RELEASE] pour la désinstaller.

$ helm list
NAME      	NAMESPACE	REVISION	UPDATED                             	STATUS  	CHART        	APP VERSION
test-redis	default  	1       	2024-03-12 13:51:24.430156 +0100 CET	deployed	redis-18.19.2	7.2.4

$ helm uninstall test-redis
release "test-redis" uninstalled

Aller plus loin

  • Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

  • Échangez avec notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?