01. September 2023
Enoncé TP 11

TP11 : Helm
🇫🇷 Version Française
Rassembler les Yamls
On va rassembler les fichiers yamls décrivant toutes nos ressources :
- configuration : secret, configmap, namespace
- mongo: statefulSet & service
- frontend: deployment & service
- backend : deployment & service
l’arborescence d’un chart helm est conçu comme cela:
helm/ Chart.yaml values.yaml (.helmignore) (OWNERS) templates/ (_helpers.tpl) (NOTE.txt) someYamlFile.yaml someOtherYamlFile.yaml
les fichiers entre parenthéses sont optionels.
Variabilisation
Les variables que l’on veut variabiliser doivent être remplacés dans nos fichiers YAML.
Les variables sont stockés sous format clé: valeur
dans le fichier values.yaml
, elles seront accessibles dans les fichiers descripteurs des ressources via la syntax : {{ .Values.laVariable }}
Par exemple une variable "form-k8s-dev"
deviendra "form-k8s-{{ .Values.env }}"
Dans un premier temps réalisé une premiére version où sera variablisé seulement l’environnement.
tips: la commande helm template ./
permet de voir si notre chart est bien écrit et de simuler la définition de nos ressources sans rien appliquer.
L’application doit pouvoir être installé et rendu accessible via la commande helm install --set env=test --name form-k8s-test ./
Une fois l’application fonctionnel vous pouvez variabilisé tout ce qui vous semble pertinent de variabiliser
Faites en sorte de pouvoir upgrader la version du backend via un --set backend.tag="1.4"
et qu’il n’y ai bien sûr que votre backend qui en soit impacté.
🇬🇧 English version
Gather the Yamls
We will collect the yaml files describing all our resources:
- configuration: secret, configmap, namespace
- mongo: statefulSet & service
- frontend: deployment & service
- backend: deployment & service
the tree of a chart helm is designed like this:
helm/ Chart.yaml values.yaml (.helmignore) (OWNERS) templates/ (_helpers.tpl) (NOTE.txt) someYamlFile.yaml someOtherYamlFile.yaml
files in parentheses are optional.
Variabilization
The variables that we want to vary must be replaced in our YAML files.
The variables are stored in key: value
format in the values.yaml
file, they will be accessible in the resource descriptor files via the syntax: {{ .Values.laVariable }}
For example a variable "form-k8s-dev"
will become "form-k8s-{{ .Values.env }}"
Firstly produced a first version where only the environment will be variable.
tips: the helm template ./
command allows you to see if our chart is well written and to simulate the definition of our resources without applying anything.
The application must be able to be installed and made accessible via the command helm install --set env=test --name form-k8s-test ./
Once the application is functional, you can vary everything that seems relevant to you
Make sure you can upgrade the backend version via a --set backend.tag="1.4"
and that of course only your backend is impacted.