The package manager for kubernetes.
Lets you install rather complex kubernetes applications quickly and easily. For example if you wanted to setup mariadb, you would normally need to create a stateful set, secrets, etc. With helm you can just run two commands:
helm repo add bitnami https://charts.bitnami.com
helm install mymaria bitnami/mariadb
creating packages
Packages in helm are called charts
. A chart is a directory of configuration
files, you can create the basic scaffolding with:
helm create myapp
myapp.yaml
Controls basic package info such as the name, description, version, and an optional list of dependencies.
values.yaml
Controls default configuration values for the package.
templates/
Files under this directory are treated as yaml templates. It uses go's templating language.
installing packages
Local directory install:
helm install myrelease ./myapp
Remote repository install:
helm install myrelease myrepo/myapp
Change values.yaml
:
helm install myrelease ./myapp -f custom.yaml
list packages
Helm actually has the ability to track all applications that have been installed
in the cluster using helm
:
helm list
upgrade package
helm upgrade myrelease ./myapp --set image.tag=1.16.1-alpine
rollback package
helm rollback myrelease 1
uninstall package
helm delete myrelease