GNU/Linux >> Tutoriels Linux >  >> Ubuntu

C'est quoi Helm ? Helm et Helm Charts expliqués

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.


Ubuntu
  1. Qu'est-ce que Kubernetes ? Guide complet

  2. Qu'est-ce que Docker (et les conteneurs Linux ?)

  3. Gdomap et à quoi ça sert ?

  4. Que se passe-t-il si je désactive et désinstalle Plymouth ?

  5. Qu'est-ce que containerd et quel est son lien avec Docker et Kubernetes ?

Comment déployer PostgreSQL sur Kubernetes

Comment installer et utiliser Helm dans Kubernetes

Qu'est-ce que Cert-Manager et comment configurer Cert-Manager pour les certificats SSL dans le cluster Kubernetes sur AWS à l'aide de Helm

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

Qu'est-ce qu'EasyApache et comment l'utiliser ?

Qu'est-ce que DHCP et comment fonctionne DHCP ? (Les bases de DHCP expliquées)