(DÉCONSEILLÉ) Utiliser Helm pour déployer des conteneurs sur un cluster Kubernetes
Conseil
Pour obtenir la version mise à jour de cet article qui utilise Azure Kubernetes Service, consultez Installer des applications avec Helm dans Azure Kubernetes Service (AKS).
Avertissement
Le service Azure Container Service (ACS) est déprécié. Aucune nouvelle fonctionnalité ni fonction n’est ajoutée à ACS. L’ensemble des API, de l’utilisation du portail, des commandes CLI et de la documentation sont marquées comme dépréciées.
En 2017, nous avons introduit Azure Kubernetes Service (AKS) pour simplifier la gestion, le déploiement et les opérations liés à Kubernetes. Si vous utilisez l’orchestrateur Kubernetes, veuillez migrer vers AKS avant le 31 janvier 2020. Pour commencer, consultez Migrer vers Azure Kubernetes Service.
Pour plus d’informations, consultez l’annonce de la dépréciation d’Azure Container Service sur Azure.com.
Helm est un outil d’empaquetage open source qui vous aide à installer et à gérer le cycle de vie d’applications Kubernetes. À l’instar de gestionnaires de package Linux tels que Apt-get et Yum, Helm sert à gérer les graphiques Kubernetes, qui sont des packages de ressources Kubernetes préconfigurés. Cet article montre comment utiliser Helm sur un cluster Kubernetes déployé dans Azure Container Service.
Helm comprend deux composants :
Helm CLI est un client qui s’exécute sur votre ordinateur en local ou dans le cloud
Tiller est un serveur qui s’exécute sur le cluster Kubernetes et gère le cycle de vie de vos applications Kubernetes
Prérequis
Créer un cluster Kubernetes dans Azure Container Service
Installer et configurer
kubectl
sur un ordinateur localInstaller Helm sur un ordinateur local
Principes de base Helm
Pour afficher des informations concernant le cluster Kubernetes sur lequel vous installez Tiller et déployez vos applications, tapez la commande suivante :
kubectl cluster-info
Après avoir installé Helm, installez Tiller sur votre cluster Kubernetes en tapant la commande suivante :
helm init --upgrade
Une fois celle-ci exécutée avec succès, vous pouvez voir une sortie telle que la suivante :
Pour afficher tous les graphiques Helm disponibles dans le référentiel, tapez la commande suivante :
helm search
Vous pouvez voir une sortie telle que la suivante :
Pour mettre à jour les graphiques afin d’obtenir les dernières versions, tapez :
helm repo update
Déployer un graphique de contrôleur d’entrée Nginx
Pour déployer un graphique de contrôleur d’entrée Nginx, tapez une seule commande :
helm install stable/nginx-ingress
Si vous tapez kubectl get svc
pour afficher tous les services en cours d’exécution sur le cluster, vous voyez qu’une adresse IP est attribuée au contrôleur d’entrée. (Pendant que l’affectation est en cours, vous voyez <pending>
. Il faut quelques minutes pour terminer.)
Une fois l’adresse IP adresse attribuée, accédez à la valeur de l’adresse IP externe pour voir le serveur principal Nginx en cours d’exécution.
Pour afficher la liste des graphiques installés sur votre cluster, tapez :
helm list
Vous pouvez abréger la commande en helm ls
.
Déployer un graphique et un client MariaDB
Déployez à présent un graphique et un client MariaDB pour vous connecter à la base de données.
Pour déployer le graphique MariaDB, tapez la commande suivante :
helm install --name v1 stable/mariadb
où --name
est une balise utilisée pour les publications.
Conseil
Si le déploiement échoue, exécutez helm repo update
puis réessayez.
Pour afficher tous les graphiques sur votre cluster, tapez :
helm list
Pour afficher tous les déploiements en cours d’exécution sur votre cluster, tapez :
kubectl get deployments
Enfin, pour exécuter un pod pour accéder au client, tapez :
kubectl run v1-mariadb-client --rm --tty -i --image bitnami/mariadb --command -- bash
Pour vous connecter au client, tapez la commande suivante en remplaçant v1-mariadb
par le nom de votre déploiement :
sudo mysql –h v1-mariadb
Vous pouvez désormais utiliser des commandes SQL standard pour créer des bases de données, des tables, etc. Par exemple, Create DATABASE testdb1;
crée une base de données vide.
Étapes suivantes
- Pour plus d’informations sur la gestion des graphiques Kubernetes, consultez la documentation de Helm.