Si vous venez du monde du développement, vous connaissez probablement le terme de gestionnaire de paquets. Les gestionnaires de paquets vous permettent d'installer des dépendances, de mettre à niveau ou de rétrograder des versions, et ainsi de suite. Dans ce tutoriel, nous allons nous intéresser à un gestionnaire de paquets très populaire pour Kubernetes, appelé Helm.
Helm aide à gérer les applications Kubernetes. Avec Helm, vous pouvez définir une application Kubernetes, en spécifiant les métadonnées, les dépendances et les configurations de l'application. Helm peut également installer des applications sur Kubernetes, ainsi que mettre à niveau et rétrograder les applications. Enfin, vous pouvez partager votre application avec d'autres en utilisant le fichier Helm. Dans ce tutoriel, nous allons vous montrer comment installer Helm 3, ainsi que configurer, mettre à niveau, restaurer et gérer les charts et les releases sur le système d'exploitation Windows.
C’est parti !
Prérequis
Avant de commencer le tutoriel, vous devez d'abord vous assurer que vous disposez des installations suivantes :
-
Si vous n'avez pas encore configuré Kubernetes sur Windows, le moyen le plus simple est de commencer avec Docker Desktop. Allez sur https://www.docker.com/products/docker-desktop. Téléchargez et installez Docker Desktop. Dans ce tutoriel, nous allons travailler avec Windows. Par conséquent, nous devrons installer WSL 2 Backend. Il s'agit d'un sous-système Linux pour Windows qui permet de prendre en charge Docker :

Une fois que Docker Desktop est prêt, allez dans Settings -> Kubernetes, et cochez l'option qui indique Enable Kubernetes:


Pour vérifier si tout fonctionne correctement, ouvrez le terminal ou PowerShell (selon le système que vous utilisez) et saisissez la commande ci-dessous :
|
1 |
kubectl |
Si vous voyez la sortie ci-dessous, vous êtes prêt à continuer :

Alternativement, si vous décidez de travailler sur Ubuntu, vous pouvez suivre notre guide détaillé : Comment installer et utiliser Kubernetes sur Ubuntu 20.04.
De plus, avant de commencer le processus d'installation, examinons quelques termes clés associés à Helm.
-
Charts
Les fichiers YAML de Kubernetes sont packagés dans les charts Helm.
-
Dépôts Helm
Helm prend en charge les dépôts. Un dépôt Helm est un emplacement qui héberge des charts Helm afin que d'autres puissent les utiliser. Helm vous permet de créer vos propres dépôts ainsi que de prendre en charge des dépôts tiers.
-
Tiller
Tiller est le composant serveur de Helm. Il doit être installé sur le cluster Kubernetes. Il prend le chart Helm et configure le cluster en conséquence.
Vous pouvez également jeter un œil à notre article de blog qui donne un aperçu détaillé de Helm et explique les méthodes de Helm pour simplifier le déploiement d'applications sur Kubernetes.
Maintenant, nous sommes prêts à commencer !
Étape 1 : Installer Helm 3
L'installation de Helm 3 est un processus simple. Les versions sont disponibles sur la page GitHub de Helm. Vous pouvez télécharger la version que vous utiliserez en fonction de votre système d'exploitation. Dans ce tutoriel, nous allons utiliser l'OS Windows, donc pour Windows, suivez les étapes ci-dessous :
-
Sur la page GitHub, téléchargez les fichiers binaires de Helm pour Windows.
-
Une fois le téléchargement terminé, vous trouverez l'archive zippée dans votre dossier Téléchargements ou à l'endroit où vous l'avez téléchargée.
-
Ensuite, déplacez cette archive vers un emplacement pratique et décompressez-la. Vous devriez trouver le fichier helm.exe dans le contenu décompressé :

-
Copiez l'emplacement du dossier et ajoutez-le à la variable PATH dans les variables d'environnement de votre système.
-
Une fois terminé, ouvrez le terminal et tapez la commande ci-dessous :
|
1 |
helm |
Si vous voyez la sortie ci-dessous, vous avez terminé l'installation de Helm. Vous pouvez ensuite passer aux étapes suivantes :

Étape 2 : Configurer les dépôts et installer un chart Helm
Helm prend en charge l'accès et la gestion des dépôts. Les dépôts sont les endroits où les charts Helm sont stockés. Initialement, Helm ne dispose pas de son propre dépôt. Au lieu de cela, Helm encourage les administrateurs et les spécialistes DevOps à créer leurs propres dépôts. Cela signifie que si vous souhaitez avoir MongoDB sur votre cluster Kubernetes, vous devrez l'ajouter vous-même au dépôt Helm. Pour vous aider à trouver les dépôts, vous pouvez utiliser Artifact.io. C’est un catalogue open-source pour tous les charts Helm, géré par la CNCF.
Ci-dessous, nous allons vous montrer comment configurer un dépôt, puis télécharger et installer le logiciel. Nous prendrons l'installation de MongoDB comme exemple. Supposons que vous deviez installer MongoDB sur votre cluster Kubernetes. Suivez les étapes ci-dessous pour l'installation :
-
Tout d'abord, allez sur https://artifacthub.io.
-
Ensuite, recherchez MongoDB. Une fois la recherche effectuée, vous verrez que de nombreuses options sont disponibles. Celle qui nous intéresse est MongoDB by Bitnami:

-
Lorsque la recherche se termine, vous verrez différentes options. Pour chaque chart, vous pouvez voir l'éditeur, la version et d'autres informations pertinentes. Une fois que vous avez localisé le chart que vous souhaitez, vous devez le sélectionner. Ici, nous cliquons sur MongoDB by Bitnami :

-
Maintenant, la partie technique peut réellement commencer. Si vous regardez la description générale, vous verrez qu'un bon guide est présent pour quiconque souhaite installer l'un des services. Vous pouvez consulter différentes options, configurations, paramètres, comment supprimer le chart, et tout ce dont vous pourriez avoir besoin d'informations. Recherchez le bouton Install et cliquez dessus :

-
Voici tout ce dont vous avez besoin pour installer MongoDB. Tout d'abord, vous devez ajouter le dépôt puis installer le chart. Pour ajouter le dépôt, ouvrez le terminal et tapez la commande :
|
1 |
helm repo add bitnami https://charts.bitnami.com/bitnami |
Vous obtiendrez le résultat ci-dessous :

Maintenant que vous avez configuré le dépôt, vous devez installer le chart. Copiez la commande depuis la boîte de dialogue, puis exécutez-la :
|
1 |
helm install my-mongodb bitnami/mongodb --version 10.23.10 |
Une fois le processus terminé, vous êtes prêt à utiliser MongoDB.
Étape 3 : Gérer les releases
Dans le développement de logiciels, la gestion des releases est essentielle. Il y a toujours des moments où vous devez mettre à jour ou revenir à des versions précédentes. Heureusement, la gestion des releases dans Helm est un processus relativement simple. Helm conserve les numéros de version afin que vous puissiez toujours revenir à la version précédente. De même, supposons que votre application soit déployée et en production, et que vous deviez effectuer des configurations - Helm prend également cela en charge. Ci-dessous, nous allons passer en revue quelques bonnes pratiques pour vous aider à effectuer ces opérations.
-
Comment mettre à jour l'application
Supposons que dans votre values.YAML fichier, vous mentionniez que vous devez avoir deux instances de l'application en cours d'exécution. Cela peut être dû au fait que votre application doit être hautement disponible. Mais plus tard, vous vous rendez compte que l'application doit avoir trois instances. Sans Helm, vous devrez d'abord arrêter l'application, puis la configurer et la redéployer. En utilisant Helm, vous pouvez d'abord apporter des modifications dans le fichier values.YAML et ensuite simplement exécuter la commande ci-dessous. Dans votre répertoire où se trouvent les fichiers Helm, exécutez la commande suivante :
|
1 |
helm upgrade <app-name> |
-
Comment annuler la release (rollback)
Maintenant, supposons que votre release ne fonctionne plus. Peut-être avez-vous configuré de mauvais numéros de port ou de mauvais chemins. Pour revenir à une version précédente, tout ce que vous avez à faire est d'exécuter la commande ci-dessous, et Helm rétablira la release à la version précédente :
|
1 |
C:\> helm rollback <release> |
Helm s'occupera de toutes les releases et du versioning. C'est l'un des plus grands avantages de l'utilisation de Helm avec Kubernetes. Pour voir toutes les releases de n'importe quelle application, exécutez la commande ci-dessous dans le répertoire contenant les charts Helm et les fichiers YAML :
|
1 |
helm history RELEASE |
Étape 4 : Créer votre propre chart
Enfin, maintenant que vous êtes à l'aise avec Helm et que vous comprenez son fonctionnement, il est temps de créer votre propre chart. En créant votre propre chart personnalisé, vous pouvez facilement distribuer votre application ainsi que l'héberger dans n'importe quel dépôt. La création de votre chart est un processus assez simple si vous suivez les étapes que nous décrivons ci-dessous. Tout d'abord, ouvrez le terminal et exécutez la commande ci-dessous :
|
1 |
helm create <chart-name> |
Cela créera le répertoire avec le nom que vous avez fourni. Nous utilisons le nom my-app. Voyons le contenu du dossier :
|
1 2 |
cd my-app ls |
Vous obtiendrez la structure ci-dessous :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
charts/ templates/ ├─ tests/ │ ├─ test-connection.yaml ├─ deployment.yaml ├─ hpa.yaml ├─ ingress.yaml ├─ NOTES.txt ├─ service.yaml ├─ serviceaccount.yaml ├─ _helpers.tpl ├─ .helmignore ├─ Chart.yaml ├─ values.yaml |
Voici un résumé du contenu de la sortie :
- dossier charts – Utilisé pour ajouter des charts dépendants.
- dossier templates – Configuration qui sera déployée dans le cluster.
- fichier YAML – Aperçu de la structure du chart Helm.
- fichier YAML – Informations de formatage pour configurer le chart.
Ensuite, suivez les étapes ci-dessous pour installer et configurer votre chart :
-
Configurer l'image et le pull
Ouvrez le values.YAML fichier. Recherchez-y le nœud image. Ensuite, vous pouvez le configurer comme vous le souhaitez. Les valeurs possibles sont IfNotPresent, Always, Latest. Vous trouverez l'ensemble complet des valeurs dans la documentation officielle.
-
Surcharger le nom du chart
Cette étape est facultative, vous pouvez donc la passer si vous le souhaitez :

-
Nom du service
Ouvrez le
values.YAML fichier et localisez le
serviceName. Ensuite, ajoutez le nom souhaité. Il est préférable d'avoir un nom préparé avant d'installer le chart :

-
Installer le chart
Enfin, pour installer le chart, exécutez la commande ci-dessous :
|
1 |
helm install <surcharge nom complet> <nom du chart>/ --values <nom du chart>/values.yaml |
Nous vous conseillons d'explorer attentivement toutes les options présentes pour configurer votre chart avant de le déployer sur le cluster.
Pourquoi les développeurs adorent Helm
Helm gagne en popularité auprès des développeurs et des spécialistes DevOps qui doivent occasionnellement démarrer et arrêter des déploiements. Voici quelques-uns des principaux avantages de Helm :
-
Helm simplifie le processus de déploiement. Il n'apporte rien de nouveau à apprendre, mais rend plutôt les déploiements YAML existants facilement configurables par l'utilisateur.
-
Au lieu de modifier fréquemment la configuration, comme le nombre de clusters ou de ports, Helm la rend facilement configurable. Tout ce que l'utilisateur a à faire est de mettre à jour les valeurs dans le values.YAML fichier.
-
Helm permet de partager l'application avec d'autres utilisateurs en l'empaquetant dans des dépôts.
Conclusion
Dans ce tutoriel, nous avons vu comment configurer le gestionnaire de paquets Helm à partir de zéro sur Windows. Nous avons examiné différents concepts clés qui doivent être clairement compris pour tirer parti de la puissance de Helm. Nous avons également vu différentes fonctionnalités disponibles dans les dépôts Helm explorés. Vous devriez maintenant vous sentir à l'aise avec Helm et l'implémenter dans votre prochain projet/déploiement Kubernetes.
Pour approfondir vos connaissances sur Kubernetes et ses fonctionnalités, vous pouvez consulter d'autres tutoriels sur notre blog :
- Découvrir Kubernetes
- Comment créer un cluster Kubernetes à l'aide de Kubeadm sur Ubuntu 18.04
- Déployer une application PHP sur un cluster Kubernetes avec Ubuntu 18.04
Bon développement !
Commentaires
Aucun commentaire pour l'instant. Soyez le premier.