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.
- recherche de barre :Recherche de cartes Helm
- dépôt helm :effectuer des opérations telles que ajouter, répertorier, supprimer, mettre à jour et indexer sur le référentiel
- helm supprimer :Supprimer le graphique qui à son tour supprime tous ses objets Kubernetes.
- statut de barre :Affichez l'état de la version.
- création de la barre :Créer un graphique de barre.
- installation de la barre :Installer un graphique qui à son tour crée ses objets Kubernetes
- amélioration de la barre :Mettez à niveau une version avec les modifications que nous lui avons apportées.
- histoire de la barre :obtenir l'historique de la version.
- 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
- 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. - 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 ?
- Publier un exemple de graphique à partir du référentiel
- Créez un graphique et publiez un exemple d'application.
- Mettre à jour la version.
- 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.