Helm
From Logic Wiki
Helm Charts
- Bundle of YAML Files
- Configuration of database apps, monitoring apps etc. can be saved in Helm charts and reuse these configurations
- Create your own HRML charts with Helm
- Push them to Helm Repository
- Download and use existing ones
It's also used as templating engine. Instead of writing docker files for many microservices we can create a template with variables and use it as templates.
Variables defined like
image: {{ .Values.container.name }}
and in values.yaml file we set
image: my-app-image
it's used for different environments as well
Directory Structure
- Top level mychart folder is the name of the chart
- Chart.yaml is meta info about chart
- values.yaml is the values for the template files
- charts folder is for chart dependencies
- templates folder is for the template files
mychart/ Chart.yaml values.yaml charts/ templates/ ...
heml install <chartname>
Overwriting values
heml install --values=my-values.yaml <chartname>
values.yaml
imageName: myapp port: 8080 version: 1.0.0
my-values.yaml
version: 2.0.0
Useful Links
- Helm hub: https://hub.helm.sh/
- Helm charts GitHub Project: https://github.com/helm/charts
- Installing Helm: https://helm.sh/docs/intro/install/
- Helm v3 release notes: https://helm.sh/blog/helm-3-released/