What is Helm
- It's a package manager for K8s, it can package yaml files and distribute them in public and private repositories.
- It is a templating engine, it can get values from a values.yaml (or --set flag) and place them in the template.
Use cases
- For different applications with the same template
- For same applications across different environments
Helm charts
An helm chart is a bundle of YAML files with all configurations needed to run a certain application in K8s.
Directory structure
- mychart (name of the chart)
- Chart.yaml (meta info about the chart)
- values.yaml (values for the template files)
- charts/ (chart dependencies)
- templates/ (the template files) s
When executing helm install <chartname>
the template files will be filles with the values from values.yaml