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
helm repo add stable https://charts.helm.sh/stable helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update helm repo list
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
IHM pour chercher des charts :
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 <chart>