Un gestionnaire de packages pour Kubernetes peut prendre en charge le package d’applications requis pour le déploiement sur Kubernetes. Il s’agit d’une installation et d’un déploiement faciles d’applications sur Kubernetes. Voici les ressources dont vous aurez besoin :
Disons que nous voulons exécuter MySQL sur Kubernetes. Tout d’abord, recherchez MySQL sur Artifact Hub, ajoutez son représentant et installez :
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm install mysql bitnami/mysql
On peut facilement se connecter à MySQL maintenant en suivant simplement les instructions affichées sur la console lors de l’installation. Dans les coulisses, l’installation de Helm télécharge, configure et exécute l’application requise dans un conteneur pour lequel il faudrait autrement écrire des fichiers YAML. Pour connaître tous les services, pods, etc. qui sont créés, tapez simplement la commande ci-dessous :
$ kubectl get all
NAME READY STATUS RESTARTS AGE
pod/my-release-mysql-0 1/1 Running 0 4m53s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 22d
service/my-release-mysql ClusterIP 10.98.171.245 <none> 3306/TCP 4m54s
service/my-release-mysql-headless ClusterIP None <none> 3306/TCP 4m54s
NAME READY AGE
statefulset.apps/my-release-mysql 1/1 4m54s
Structure de la charte Helm
Exécutez la commande ci-dessous et elle téléchargera le fichier de package compressé. Décompressez-le.
$ helm pull bitnami/mysql
$ls
mysql-8.8.8.tgz
Lors de l’exploration, nous pouvons facilement identifier que le Helm Chart est une collection de fichiers de modèle YAML organisés dans une structure de répertoires spécifique.
Vous pouvez créer vos propres graphiques Helm personnalisés pour la distribution ou le déploiement.
$ helm create my-helm-chart
Génération du descripteur YAML à partir du graphique Helm
À partir du graphique Helm, vous pouvez générer la sortie finale du fichier YAML à l’aide des commandes de modèle Helm et fournir un moyen d’exécuter l’application sur un cluster à l’aide de kubectl et sans utiliser Helm pour l’installation.
$ helm template assign-name ./downloaded-chart --values=./downloaded-chart/values.yaml > descriptor.yaml
$ kubectl apply -f descriptor.yaml -n app-dev-env
Les graphiques Helm offrent un moyen dynamique de lier différentes configurations, tandis que Kubernetes YAML ne fournit qu’un moyen statique. En utilisant la méthode ci-dessus, nous pouvons générer YAML pour différentes configurations.
Bon apprentissage!