GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment déployer des applications sur Kubernetes à l'aide de Helm

Cet article fait suite à mon article "Qu'est-ce que Helm et comment l'installer sur le serveur Ubuntu 20.04 ?". Si vous êtes nouveau sur Helm, je vous 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 graphique et le publier, le mettre à niveau, le restaurer, le supprimer et le restaurer. Voyons les commandes en bref avant de les utiliser dans l'article plus tard.

  1. recherche de barre :Recherche de cartes Helm
  2. dépôt helm  :effectuer des opérations telles que ajouter, répertorier, supprimer, mettre à jour et indexer sur le référentiel
  3. helm supprimer  :Supprimer le graphique qui à son tour supprime tous ses objets Kubernetes.
  4. statut de barre  :Affichez l'état de la version.
  5. création de la barre  :Créer un graphique de barre.
  6. installation de la barre :Installer un graphique qui à son tour crée ses objets Kubernetes
  7. amélioration de la barre  :Mettez à niveau une version avec les modifications que nous lui avons apportées.
  8. histoire de la barre  :obtenir l'historique de la version.
  9. restauration de la barre  :annuler les modifications apportées à la version précédente.

Avant de continuer, il est supposé que vous connaissez les bases de Helm. Il est également supposé que vous disposez déjà d'un cluster Kubernetes et d'un client helm.

Prérequis

  1. Cluster Kubernetes avec au moins 1 nœud de travail.
    Si vous souhaitez apprendre à créer un cluster Kubernetes, cliquez ici. Ce guide vous aidera à créer un cluster Kubernetes avec 1 maître et 2 nœuds sur les instances AWS Ubuntu 18.04 EC2.
  2. Helm installé sur votre nœud maître (recherchez mon article intitulé "Qu'est-ce que Helm et comment l'installer sur le serveur Ubuntu 20.04" pour comprendre les bases de Helm et l'installer).

Qu'allons-nous faire ?

  1. Publier un exemple de graphique à partir du référentiel
  2. Créez un graphique et publiez un exemple d'application.
  3. Mettre à jour la version.
  4. Restaurer la release après sa suppression

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

Tout d'abord, vérifions si le "helm" est disponible sur le serveur ou non.

version barre

A titre d'exemple, essayons d'installer une charte Apache à partir du hub. Exécutez la commande suivante pour rechercher Apache sur le hub.

apache du hub de recherche helm

Vous obtiendrez un ensemble de résultats, copiez l'URL de l'une des recherches d'Apache. Dans ce cas, j'ai copié la première URL.

Appuyez sur l'URL dans le navigateur Web et vous verrez une page comme suit.

Sur cette page, vous obtiendrez des commandes pour ajouter un référentiel à votre système local et installer le graphique à partir de celui-ci.

Exécutez les commandes sur votre système local qui ajouteront le référentiel pour la charte Apache.

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

liste de dépôts helm

Une fois que vous avez le référentiel sur votre système, vous êtes prêt à installer le graphique et à créer une version pour Apache à l'aide de Helm.

helm install my-release bitnami/apache

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

Une fois le graphique publié, vous pouvez voir les objets qui ont été créés sur le cluster Kubernetes.

kubectl obtenir des nœuds

kubectl obtenir des pods

Vous pouvez maintenant obtenir l'adresse IP du pod et essayer d'accéder à la page Apache à l'aide de la commande curl.

kubectl get pods -o large

kubectl obtenir svc

curl 10.244.1.2:8080

Si vous souhaitez supprimer la version, vous pouvez le faire simplement en utilisant la commande suivante

helm supprimer ma-version

Vous pouvez répertorier les versions sur le cluster et voir si la version a été supprimée avec succès ou non.

barre ls

helm status my-release

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 vous exécutez la commande suivante, vous obtiendrez un graphique contenant un exemple d'application de Nginx.

helm crée mon premier graphique

Explorez la structure des dossiers du graphique que nous avons créé à l'aide de la commande ci-dessus.

cd mon-premier-graphique/

ls -l

ls -l graphiques/

ls -l modèles/

ls -l modèles/tests/

Vérifiez le contenu du fichier Chart.yaml.

ls -lt

chat Chart.yaml

Vérifiez le contenu de values.yaml

ls -lt

valeurs de chat.yaml

Déployons maintenant l'exemple d'application à l'aide du graphique local.

pwd

cd ..

ls -l | grep mon-premier-graphique

kubectl obtenir des pods

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

Une fois le graphique publié avec succès, vous pouvez voir un pod créé dans le cluster.

kubectl obtenir des pods

kubectl obtenir svc

Vous pouvez désormais accéder au pod Nginx via le service.

curl 10.104.229.187

Vous pouvez trouver des informations concernant la version que nous avons créée à l'aide de la commande suivante.

barre ls

état de la barre ma-première-version

Mettre à jour 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 1. Si vous souhaitez augmenter le nombre de répliques, vous pouvez facilement le faire en modifiant le fichier values.yaml.

chat mon-premier-graphique/valeurs.yaml | réplique de grep

vim mon-premier-graphique/valeurs.yaml

chat mon-premier-graphique/valeurs.yaml | réplique de grep

barre ls

Vous pouvez désormais déployer facilement vos modifications et mettre à jour votre version.

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

Vous pouvez même remarquer la révision de la version mise à jour en 2.

barre ls

Cette fois, vous pouvez voir deux pods en cours d'exécution dans le cluster, car nous avions spécifié le nombre de réplicas à 2.

kubectl obtenir des pods

barre ls

Si nous vérifions l'historique de la version, nous remarquerons que la version a deux révisions. La révision 1 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 ma-première-version

Si nous ne voulons pas que les modifications soient publiées dans la révision 2 et que nous souhaitions revenir à la révision 1, nous pouvons simplement le faire à l'aide de la commande rollback suivante.

helm rollback ma-première-version 1

barre ls

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

helm history ma-première-version

Vous pouvez maintenant voir qu'un seul pod est en cours d'exécution dans le cluster.

kubectl obtenir des pods

Si vous souhaitez supprimer l'exemple d'application Nginx publié du graphique, vous pouvez le supprimer en supprimant la version.

barre ls

helm supprimer ma-première-version

barre ls

Restaurer la version après sa suppression

Dans le scénario ci-dessus, nous avons supprimé la version. Mais par défaut, la version ne conserve pas son historique de version lorsqu'elle est supprimée. Si vous souhaitez revenir en arrière dans un tel scénario, vous ne pourrez pas le faire à moins que vous ne spécifiiez l'option --keep-history à la commande delete release.

barre ls

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

barre ls

Si vous spécifiez l'option --keep-history lors de la suppression de la version, la barre créera une nouvelle version. De cette façon, vous pouvez revenir à la version de travail précédente même après avoir supprimé la version ou l'application.

helm supprimer ma-seconde-version --keep-history

barre ls

barre ls -a

helm history my-second-release

helm rollback my-second-release 1

barre ls

helm history my-second-release

Conclusion

Dans cet article, nous avons déployé un exemple d'application à partir de la charte Helm disponible sur Internet. Nous avons même vu les étapes pour créer un graphique Helm sur notre système et le publier. Parallèlement, nous avons vu comment supprimer les graphiques Helm, revenir aux versions précédentes et préserver l'historique des versions même après la suppression du chat.


Ubuntu
  1. Comment créer un graphique Helm

  2. Installer Elasticsearch sur Kubernetes à l'aide de Helm Chart

  3. Comment déployer Elasticsearch sur Kubernetes

  4. Comment déployer une instance WordPress sur Kubernetes

  5. Comment déployer l'équilibrage de charge Nginx sur le cluster Kubernetes sur Ubuntu 18.04 LTS

Qu'est-ce qu'Ingress Controller et comment déployer Nginx Ingress Controller dans Kubernetes Cluster sur AWS à l'aide de Helm

Comment installer Kubernetes sur Ubuntu 20.04

Comment installer Kubernetes à l'aide de Minikube dans CentOS Linux

Comment déployer Mattermost sur Ubuntu 20.04

Comment déployer Kubernetes à nœud unique avec Microk8s sur Ubuntu 20.04

Comment surveiller les applications Node.js à l'aide du tableau de bord Web PM2