Comment déployer des applications sur Kubernetes en utilisant Helm

Cet article est la suite de mon article« Qu’est-ce que Helm et comment l’installer sur un serveur Ubuntu 20.04 ?« . Si tu ne connais pas Helm, je te recommande de parcourir d’abord l’article que j’ai mentionné. Dans cet article, nous allons libérer Apache du tableau existant. Nous allons créer un exemple de tableau et le libérer, le mettre à niveau, le rétablir, le supprimer et le restaurer. Voyons les commandes en bref avant de les utiliser plus tard dans l’article.

  1. helm search: Recherche les diagrammes Helm
  2. helm repo: Effectue des opérations comme ajouter, lister, supprimer, mettre à jour et indexer sur le Référentiel
  3. helm delete: Supprime le graphique qui, à son tour, supprime tous ses objets Kubernetes.
  4. helm status: Affiche le statut de la version.
  5. helm create: Crée un graphique helm.
  6. helm install: Installe un graphique qui crée à son tour ses objets Kubernetes.
  7. helm upgrade: Mets à niveau une version avec les modifications que nous lui avons apportées.
  8. helm history: Obtiens l’historique de la version.
  9. helm rollback: Annule les modifications apportées à la version précédente.

Avant de poursuivre, il est supposé que tu connais les bases de Helm. Il est également supposé que tu as un cluster Kubernetes et que le client helm y est déjà installé.

Pré-requis

  1. Cluster Kubernetes avec au moins 1 nœud de travail.
    Si tu veux apprendre à créer un cluster Kubernetes, cliqueici. Ce guide t’aidera à créer un cluster Kubernetes avec 1 maître et 2 nœuds sur des instances EC2 AWS Ubuntu 18.04.
  2. Helm est installé sur ton nœud maître (cherche mon article intitulé « Qu’est-ce que Helm et comment l’installer sur un serveur Ubuntu 20.04 » pour comprendre les bases de Helm et l’installer).

Que ferons-nous ?

  1. Libère un exemple de graphique à partir du repo.
  2. Crée un graphique et publie un exemple d’application.
  3. Mettre à jour la version.
  4. Restaurer la version après sa suppression

Diffuser un exemple de graphique à partir du dépôt officiel

Tout d’abord, vérifions si le « helm » est disponible sur le serveur ou non.

Version de helm

À titre d’exemple, essayons d’installer une carte Apache à partir du hub. Exécute la commande suivante pour rechercher Apache sur le hub.

helm search hub apache

Recherche un graphique sur Hub

Tu obtiendras une série de résultats. Copie l’URL de l’une des recherches pour Apache. Dans ce cas, j’ai copié la première URL.

Appuie sur l’URL dans le navigateur Web et tu verras une page comme celle-ci.

Sur cette page, tu obtiendras des commandes pour ajouter un repo à ton système local et installer le tableau à partir de celui-ci.

Obtiens une URL du Repo de la Carte

Exécute les commandes sur ton système local qui ajouteront le référentiel pour la carte Apache.

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

helm repo list

Une fois que tu as le référentiel sur ton système, tu es prêt à installer la charte et à créer une version pour Apache à l’aide de Helm.

helm install my-release bitnami/apache

Ajoute un repo et installe le graphique

Une fois les commandes exécutées avec succès, tu verras la sortie comme ci-dessus.

Une fois que la carte est libérée, tu peux voir les objets qui ont été créés sur le cluster Kubernetes.

kubectl get nodes

kubectl get pods

Tu peux maintenant obtenir l’IP du pod et essayer d’accéder à la page Apache à l’aide de la commande curl.

kubectl get pods -o wide

kubectl get svc

curl 10.244.1.2:8080

Vérifie les objets Kubernetes créés par la carte.

Si tu veux supprimer la release, tu peux le faire simplement en utilisant la commande suivante

helm delete my-release

Tu peux lister les releases sur le cluster et voir si la release a été supprimée avec succès ou non.

helm ls

helm status my-release

Supp supprimer la version

Créer un graphique et déployer un exemple d’application

Dans le scénario ci-dessus, nous avons installé un graphique qui était facilement disponible et configuré. Nous pouvons créer notre propre graphique et publier notre application. Créer un graphique est très simple avec helm. Si tu exécutes la commande suivante, tu obtiendras un graphique contenant un exemple d’application Nginx.

helm create my-first-chart

Explore la structure du dossier du graphique que nous avons créé à l’aide de la commande ci-dessus.

cd mon-premier-chart/

ls -l

ls -l charts/

ls -l templates/

ls -l templates/tests/

Crée un graphique

Vérifie le contenu du fichier Chart.yaml.

ls -lt

cat Chart.yaml

Voir Chart.yaml

Vérifie le contenu du fichier values.yaml

ls -lt

cat values.yaml

Voir values.yaml

Maintenant, déployons l’application d’exemple en utilisant le graphique local.

pwd

cd .

ls -l | grep my-first-chart

kubectl get pods

helm install my-first-release my-first-chart/

Crée un communiqué en utilisant le graphique

Une fois que la carte est libérée avec succès, tu peux voir un pod créé dans le cluster.

kubectl get pods

kubectl get svc

Tu peux maintenant accéder au pod Nginx via le service.

curl 10.104.229.187

Vérifie les objets Kubernetes créés par la carte.

Tu peux trouver des informations concernant la version que nous avons créée en utilisant la commande suivante.

helm ls

helm status my-first-release

Vérifie le statut du lancement

Mettre à niveau la version

Dans le scénario ci-dessus, nous avons créé un graphique avec un exemple d’application Nginx. Le nombre de répliques dans le scénario ci-dessus était de 1. Si tu veux augmenter le nombre de répliques, tu peux facilement le faire en apportant des modifications au fichier values.yaml.

cat my-first-chart/values.yaml | grep replica

vim mon-premier-chart/values.yaml

cat mon-premier-chart/values.yaml | grep replica

helm ls

Maintenant, tu peux facilement déployer tes changements et mettre à niveau ta version.

helm upgrade my-first-release my-first-chart/

Tu peux même remarquer que la révision de la version est passée à 2.

helm ls

Cette fois, tu peux voir que deux pods fonctionnent dans le cluster car nous avions spécifié le nombre de répliques à 2.

kubectl get pods

Change le ReplicaCount et mets la version à jour

helm ls

Si nous vérifions l’historique de la version, nous remarquerons que la version a deux révisions. La première révision comportait 1 pod et plus tard, nous avons mis à jour le nombre de répliques à 2, ce qui a créé la révision 2 de la version.

helm history my-first-release

Si nous ne voulons pas des changements publiés dans la révision 2 et que nous voulons revenir à la révision 1, nous pouvons simplement le faire en utilisant la commande rollback suivante.

helm rollback ma-première-version 1

helm ls

Et cela créera la révision 3 de la version.

helm history ma-première-version

Tu peux maintenant voir qu’il n’y a qu’un seul pod en cours d’exécution dans le cluster.

kubectl get pods

Vérifie l'historique et annule la version

Si tu veux supprimer l’exemple d’application Nginx publié dans le tableau, tu peux le supprimer en supprimant la version.

helm ls

helm delete my-first-release

helm ls

Supp supprimer l'émission

Restaurer la release après l’avoir supprimée

Dans le scénario ci-dessus, nous avons supprimé la release. Mais par défaut, la version ne conserve pas l’historique des versions lorsqu’elle est supprimée. Si tu veux revenir en arrière dans un tel scénario, tu ne pourras pas le faire à moins de spécifier l’option –keep-history à la commande delete release.

helm ls

helm install my-second-release my-first-chart/

helm ls

Si tu spécifies l’option –keep-history lors de la suppression de la version, helm créera une nouvelle version de la version. De cette façon, tu peux revenir à la version de travail précédente même après avoir supprimé la version ou l’application.

helm delete my-second-release –keep-history

helm ls

helm ls -a

helm history my-second-release

helm rollback my-second-release 1

heaume ls

heaume historique ma-seconde-version

Supprime et restaure la version

Conclusion

Dans cet article, nous avons déployé un exemple d’application à partir de la carte Helm disponible sur Internet. Nous avons même vu les étapes pour créer une carte Helm sur notre système et la publier. En plus de cela, nous avons vu comment supprimer les diagrammes Helm, revenir aux versions précédentes et préserver l’historique des versions même après avoir supprimé le chat.

Vous aimerez aussi...