To create a helm chart use helm create [CHART_NAME] command.
The command will scaffold a new folder called [CHART_NAME] with the following files inside
.
├── Chart.yaml
├── README.md
├── charts
├── templates
│ ├── NOTES.txt
│ ├── _helpers.tpl
│ ├── deployment.yaml
│ ├── hpa.yaml
│ ├── ingress.yaml
│ ├── service.yaml
│ ├── serviceaccount.yaml
│ └── tests
│ └── test-connection.yaml
└── values.yaml
To render a template use helm template . command.
The previous command will only render the template if everything works correctly. If you need to debug or inspect why the generated yaml is not working then you could use the --debug option when running the command.
To pull helm chart use helm pull [REPO]/[CHARTNAME] command. This will pull the helm chart in a .tar file format.
You could use --untar command to untar the chart after pull.
To pull only the helm chart values you could do helm show values [CHARTNAME] > [FILENAME]
To install a helm chart use helm install [RELEASE_NAME] [REPO/CHARTNAME] command.
To upgrade a helm chart use helm upgrade [RELEASE_NAME] [REPO/CHARTNAME] command.
You could install and upgrade a helm chart using a different values file using --values or -f flag.
To add a helm chart as a dependency, e.g grafana you could add the following config in the Chart.yaml file
dependencies:
- name: grafana
version: 6.60.1
condition: grafana.enabled
repository: https://grafana.github.io/helm-chartsthen to pull the dependency run helm dep update.
In order for the grafana to run make sure the following config is present in the values.yaml
grafana:
enabled: trueAdditionally if you think a certain dependency will always be enabled you could use the following config in the Chart.yaml instead:
dependencies:
- name: grafana
version: 6.60.1
enabled: true
repository: https://grafana.github.io/helm-charts