Helm
1. Origine du besoin
Même dans le cas d’une application simple comme MailHog, le déploiement réclame un certain nombre de déclarations :
-
un déploiement (deployment),
-
une déclaration de service (service),
-
une demande de volume persistant (persistent volume claim),
-
une règle de publication (ingress).
Malheureusement, dans le cas où l’on ne souhaiterait pas publier l’application sur l’extérieur ou ajouter de volume persistant, il n’y a pas d’autre solution que d’éditer les fichiers à la main avant de les soumettre au cluster ou de n’envoyer qu’une partie des fichiers vers l’API de Kubernetes.
Afin d’éviter ces opérations manuelles, il est possible de faire appel à des préprocesseurs qui prendront ces fichiers en entrée et y appliqueront des modifications avant de les soumettre à l’API de Kubernetes.
Dans le cas de Helm, ce travail de préparation des fichiers se fait à l’aide du moteur de template du langage Go.
2. Création d’un chart
La création d’un package se fait à l’aide de la commande helm suivie des options suivantes :
-
le mot-clé create,
-
le nom du chart à créer.
Pour créer un chart pour l’application MailHog, lancez la commande suivante :
$ helm create mailhog helm create
3. Contenu d’un package
a. Structure d’un package
Par défaut, cette...