Outils pour utilisateurs

Outils du site


techniques:helm_tutorial

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 <chart>
techniques/helm_tutorial.txt · Dernière modification: 2026/03/18 21:52 (modification externe)