==== Présentation ==== Helm est un gestionnaire de paquet. Il permet de récupérer/télécharger des "charts", et d'instancier des "release" de chart dans des cluster kubernetes. **helm** --- utilise --> ** kubectl (KUBECONFIG)** -- créer/modifier/supprimer des composant dans --> ** Service Kubernetes ** Il est possible de préciser le KUBECONFIG ==== Configurer les repository sur lesquels chercher des charts ==== helm repo add stable https://charts.helm.sh/stable helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update helm repo list ==== Chercher des charts en CLI ==== helm search repo bitnami | head -5 helm search nginx | head -5 helm search repo dokuwiki helm search repo kuwik helm show chart bitnami/dokuwiki helm install --help ==== Chercher des charts via un webbrowser ==== IHM pour chercher des charts : [[https://artifacthub.io/]] ==== Créer une release à partir d'un chart ==== kubectl config set-context --current --namespace=siakhooi-query kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * default default default siakhooi-query helm install my-query siakhooi/query --version 0.19.0 Pour vérifier les logs : kubectl logs my-query-query-56c4d6fdf7-jl9j2 -n siakhooi-query ou kubectl logs -n siakhooi-query -l app.kubernetes.io/instance=my-query --> aucun logs !!!! Pour vérifier le pod créé kubectl describe pod my-query-query-56c4d6fdf7-jl9j2 -n siakhooi-query ou kubectl get pods -n siakhooi-query -w # Force la recréation des podsn en fournissant des nouvelles valeurs à la place des values, attention, ne marche pas pour tous les déploiements avec de nouvelles valeurs ; d'ailleurs, pour celui là, ça n'a pas fonctionné (explication juste en dessous) helm upgrade my-query siakhooi/query --version 0.19.0 -n siakhooi-query --set startupProbe.initialDelaySeconds=30 --set startupProbe.failureThreshold=30 --set startupProbe.periodSeconds=10 --set livenessProbe.initialDelaySeconds=60 --set livenessProbe.failureThreshold=5 --set readinessProbe.initialDelaySeconds=30 --set readinessProbe.failureThreshold=5 --recreate-pods Pour que çà marche il aurait fallu, dans le template du chart (fichier deployment.yaml), par exemple pour startupProbe startupProbe: initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds | default 10 }} periodSeconds: {{ .Values.startupProbe.periodSeconds | default 5 }} failureThreshold: {{ .Values.startupProbe.failureThreshold | default 1 }} # Télécharger le chart pour l'examiner helm pull siakhooi/query --version 0.19.0 --untar # Regarder le fichier values.yaml cat query/values.yaml # et cherchez les sections "probe", "startupProbe", etc. # Regarder le template du déploiement cat query/templates/deployment.yaml ==> ** Toujours vérifier ce qui est configurable avec ** helm show values