Helm Chart - Cheat Sheet
Quote from moshe on 23/10/2022, 1:53 pmHelm Repositories
List Helm repositories
helm repo listUpdate helm chart repositories
helm repo updateSearching Helm Charts
List all installed charts
helm repo listhelm search
List all installed charts
helm searchSearch for a chart
helm search fooManaging Installed Helm Charts
List installed Helm charts
helm lsList deleted Helm charts
helm ls –deletedList installed and deleted Helm charts
helm ls –allList all available releases across all namespaces:
helm list –all-namespacesList all releases in a specific namespace:
helm list –namespace [namespace]List all releases in a specific output format:
helm list –output [format]Apply a filter to the list of releases using regular expressions:
helm list –filter ‘[expression]'See the status of a specific release:
helm status [release]Display the release history:
helm history [release]See information about the Helm client environment:
helm env
Installing/Deleting Helm charts
Inspect the variables in a chart
helm inspect values stable/mysqlInstall a Helm chart
helm install –name foo stable/mysql
helm install –name path/to/foo
helm install –name foo bar-1.2.3.tgz
helm install –name foo https://example.com/charts/bar-1.2.3.tgzInstall a Helm chart and override variables
helm install –name foo –values config.yaml –timeout 300 –wait stable/mysqlShow status of Helm chart being installed
helm status fooDelete a Helm chart
helm delete –purge foo
Upgrading Helm Charts
Return the variables for a release
helm get values fooUpgrade the chart or variables in a release
helm upgrade –values config.yaml foo stable/mysqlList release numbers
helm history fooRollback to a previous release number
helm rollback foo 1Creating Helm Charts
Create a blank chart
helm create fooLint the chart
helm lint fooPackage the chart into foo.tgz
helm package fooInstall chart dependencies
helm dependency updatePlugins Management
Install plugins:
helm plugin install [path/url1] [path/url2] …View a list of all installed plugins:
helm plugin listUpdate plugins:
helm plugin update [plugin1] [plugin2] …Uninstall a plugin:
helm plugin uninstall [plugin]
Chart Management
Create a directory containing the common chart files and directories (chart.yaml, values.yaml, charts/ and templates/):
helm create [name]Package a chart into a chart archive:
helm package [chart-path]Run tests to examine a chart and identify possible issues:
helm lint [chart]Inspect a chart and list its contents:
helm show all [chart]Display the chart’s definition:
helm show chart [chart]Display the chart’s values:
helm show values [chart]Download a chart:
helm pull [chart]Download a chart and extract the archive’s contents into a directory:
helm pull [chart] –untar –untardir [directory]Display a list of a chart’s dependencies:
helm dependency list [chart]Download all the release information:
helm get all [release]Download all hooks:
helm get hooks [release]Download the manifest:
helm get manifest [release]Download the notes:
helm get notes [release]Download the values file:
helm get values [release]Fetch release history:
helm history [release]———————————————————————————————–
Chart Folder Structure
MySQL/
___Chart.yaml – A YAML file containing information about the chart
___LICENSE – OPTIONAL: A plain text file containing the license for the chart
___README.md – OPTIONAL: A human-readable README file
___requirements.yaml – OPTIONAL: A YAML file listing dependencies for the chart
___values.yaml – The default configuration values for this chart
___charts/ – A directory containing any charts upon which this chart depends.
___templates/ – A directory of templates that, when combined with values,
___templates/NOTES.txt – OPTIONAL: A plain text file containing short usage notes
___templates/_helpers.tpl – Helper file for various tasks such as name settings
___templates/deployment.yaml – Pod deployment specifications
___templates/pv.yaml – Persistent volume specifications
___templates/pvc.yaml – Persistent Volume claim
___templates/secret.yaml – secret definitions ( Such as mysql username/pass)
___templates/service.yaml – Service Settings for the deployment
Helm Repositories
List Helm repositories
helm repo list
Update helm chart repositories
helm repo update
Searching Helm Charts
List all installed charts
helm repo list
helm search
List all installed charts
helm search
Search for a chart
helm search foo
Managing Installed Helm Charts
List installed Helm charts
helm ls
List deleted Helm charts
helm ls –deleted
List installed and deleted Helm charts
helm ls –all
List all available releases across all namespaces:
helm list –all-namespaces
List all releases in a specific namespace:
helm list –namespace [namespace]
List all releases in a specific output format:
helm list –output [format]
Apply a filter to the list of releases using regular expressions:
helm list –filter ‘[expression]'
See the status of a specific release:
helm status [release]
Display the release history:
helm history [release]
See information about the Helm client environment:
helm env
Installing/Deleting Helm charts
Inspect the variables in a chart
helm inspect values stable/mysql
Install a Helm chart
helm install –name foo stable/mysql
helm install –name path/to/foo
helm install –name foo bar-1.2.3.tgz
helm install –name foo https://example.com/charts/bar-1.2.3.tgz
Install a Helm chart and override variables
helm install –name foo –values config.yaml –timeout 300 –wait stable/mysql
Show status of Helm chart being installed
helm status foo
Delete a Helm chart
helm delete –purge foo
Upgrading Helm Charts
Return the variables for a release
helm get values foo
Upgrade the chart or variables in a release
helm upgrade –values config.yaml foo stable/mysql
List release numbers
helm history foo
Rollback to a previous release number
helm rollback foo 1
Creating Helm Charts
Create a blank chart
helm create foo
Lint the chart
helm lint foo
Package the chart into foo.tgz
helm package foo
Install chart dependencies
helm dependency update
Plugins Management
Install plugins:
helm plugin install [path/url1] [path/url2] …
View a list of all installed plugins:
helm plugin list
Update plugins:
helm plugin update [plugin1] [plugin2] …
Uninstall a plugin:
helm plugin uninstall [plugin]
Chart Management
Create a directory containing the common chart files and directories (chart.yaml, values.yaml, charts/ and templates/):
helm create [name]
Package a chart into a chart archive:
helm package [chart-path]
Run tests to examine a chart and identify possible issues:
helm lint [chart]
Inspect a chart and list its contents:
helm show all [chart]
Display the chart’s definition:
helm show chart [chart]
Display the chart’s values:
helm show values [chart]
Download a chart:
helm pull [chart]
Download a chart and extract the archive’s contents into a directory:
helm pull [chart] –untar –untardir [directory]
Display a list of a chart’s dependencies:
helm dependency list [chart]
Download all the release information:
helm get all [release]
Download all hooks:
helm get hooks [release]
Download the manifest:
helm get manifest [release]
Download the notes:
helm get notes [release]
Download the values file:
helm get values [release]
Fetch release history:
helm history [release]
———————————————————————————————–
Chart Folder Structure
MySQL/
___Chart.yaml – A YAML file containing information about the chart
___LICENSE – OPTIONAL: A plain text file containing the license for the chart
___README.md – OPTIONAL: A human-readable README file
___requirements.yaml – OPTIONAL: A YAML file listing dependencies for the chart
___values.yaml – The default configuration values for this chart
___charts/ – A directory containing any charts upon which this chart depends.
___templates/ – A directory of templates that, when combined with values,
___templates/NOTES.txt – OPTIONAL: A plain text file containing short usage notes
___templates/_helpers.tpl – Helper file for various tasks such as name settings
___templates/deployment.yaml – Pod deployment specifications
___templates/pv.yaml – Persistent volume specifications
___templates/pvc.yaml – Persistent Volume claim
___templates/secret.yaml – secret definitions ( Such as mysql username/pass)
___templates/service.yaml – Service Settings for the deployment