Présentation
Helm est un outil de déploiement Kubernetes permettant d'automatiser la création, l'empaquetage, la configuration et le déploiement d'applications et de services sur des clusters Kubernetes.
Kubernetes est un puissant système d'orchestration de conteneurs pour le déploiement d'applications. Il existe plusieurs ressources indépendantes à gérer, et chacune nécessite un fichier manifeste YAML dédié.
Cet article explique ce que sont les graphiques Helm et Helm et comment automatiser le déploiement d'applications sur Kubernetes.
Qu'est-ce que Helm ?
Si Kubernetes était un système d'exploitation, Helm serait le gestionnaire de packages. Ubuntu utilise apt
, CentOS utilise yum
, et Kubernetes utilise helm
.
Helm déploie des applications packagées sur Kubernetes et les structure en graphiques. Les graphiques contiennent toutes les ressources d'application préconfigurées ainsi que toutes les versions dans un package facilement gérable.
Helm rationalise l'installation, la mise à niveau, la récupération des dépendances et la configuration des déploiements sur Kubernetes avec de simples commandes CLI. Les packages logiciels se trouvent dans des référentiels ou sont créés.
Pourquoi avons-nous besoin de Helm ?
Les objets Kubernetes sont difficiles à gérer. Avec des outils utiles, la courbe d'apprentissage de Kubernetes devient fluide et gérable. Helm automatise la maintenance des manifestes YAML pour les objets Kubernetes en regroupant les informations dans des graphiques et en les annonçant à un cluster Kubernetes.
Helm garde une trace de l'historique versionné de chaque installation et modification de graphique. Le retour à une version précédente ou la mise à niveau vers une version plus récente s'effectue à l'aide de commandes compréhensibles.
Que pouvez-vous faire avec Helm ?
Helm permet aux développeurs de logiciels de déployer et de tester un environnement de la manière la plus simple possible. Il faut moins de temps pour passer du développement aux tests et à la production.
En plus d'augmenter la productivité, Helm offre aux développeurs un moyen pratique d'emballer et d'envoyer des applications aux utilisateurs finaux pour installation.
Comment fonctionne Helm ?
Helm et Kubernetes fonctionnent comme une application client/serveur. Le client Helm pousse les ressources vers le cluster Kubernetes. Le côté serveur dépend de la version :Helm 2 utilise Tiller tandis que Helm 3 s'est débarrassé de Tiller et s'appuie entièrement sur l'API Kubernetes.
Qu'est-ce qu'un graphique Helm ?
Les graphiques Helm sont des packages Helm composés de fichiers et de modèles YAML qui se convertissent en fichiers manifestes Kubernetes. Les graphiques sont réutilisables par n'importe qui pour n'importe quel environnement, ce qui réduit la complexité et les doublons. Les dossiers ont la structure suivante :
Comment fonctionnent les graphiques Helm ?
Les trois concepts de base des chartes Helm sont :
1. Graphique – Modèle préconfiguré de ressources Kubernetes.
2. Libérer – Un graphique déployé sur un cluster Kubernetes à l'aide de Helm.
3. Répertoire – Graphiques accessibles au public.
Le flux de travail consiste à rechercher dans les dépôts pour les graphiques et installez-les sur des clusters Kubernetes, en créant des versions .
Structure du diagramme de barre
Les fichiers et répertoires d'une charte Helm ont chacun une fonction spécifique :
Nom | Type | Fonction |
---|---|---|
graphiques/ | Répertoire | Répertoire des dépendances de graphique gérées manuellement. |
modèles/ | Répertoire | Les fichiers modèles sont écrits en Golang et combinés avec les valeurs de configuration du fichier values.yaml pour générer des manifestes Kubernetes. |
Graphique.yaml | Fichier | Métadonnées sur le graphique, telles que la version, le nom, les mots-clés de recherche, etc. |
LICENCE (facultatif) | Fichier | Licence pour le graphique au format texte brut. |
LISEZMOI.md (facultatif) | Fichier | Informations lisibles par l'homme pour les utilisateurs du graphique. |
requirements.yaml (facultatif) | Fichier | Liste des dépendances du graphique. |
values.yaml | Fichier | Valeurs de configuration par défaut pour le graphique. |
Créez des graphiques Helm manuellement ou collectez des graphiques accessibles au public à partir de référentiels.
Référentiels de graphiques Helm
Les référentiels contiennent des graphiques qui peuvent être installés ou partagés avec d'autres utilisateurs. Helm fournit une commande pour rechercher directement à partir du client. Il existe deux types généraux de recherches :
1. helm search hub
- Effectue des recherches dans Artifact Hub à partir de dizaines de référentiels.
2. helm search repo
- Recherche dans les référentiels ajoutés dans le client helm local à l'aide de helm repo add .
Sans aucun filtre, tous les graphiques disponibles s'affichent dans le résultat de la recherche. Ajoutez un terme de recherche pour affiner la requête. Par exemple :
helm search hub wordpress
Lorsque vous trouvez un graphique approprié, installez-le à l'aide de helm install
.
Versions Helm Chart
L'installation d'un graphique crée une version du nouveau package. L'helm install
la commande prend deux arguments :
helm install <release name> <chart name>
Exécution de l'helm install
imprime des informations utiles et si vous devez prendre des mesures pour l'installation. Les graphiques sont personnalisables et facilement configurables avant l'installation. Les versions de Helm sont faciles à maintenir et à annuler en cas de modifications indésirables.