|
|
|
|
|
by bogomipz
3110 days ago
|
|
I've really confused by Helm. From their github repo Helm bills itself as: "The Kubernetes package manager." Then it goes on to state: "Helm is a tool for managing Kubernetes charts." Then reading further I see: "Charts are packages of pre-configured Kubernetes resources." I find this extremely confusing. Also its my understanding that unit of deploy in K8 is a pod which is built on Docker containers. Isn't installing packages into running containers considered an anti-pattern? Could someone give a better explanation of Helm/Charts and when someone might use it? |
|
Helm just renders a bunch of templates of kubernetes manifests against a values file. It then takes the resulting manifests, compares them to what’s running on your cluster and makes sure nothing less or more is running. That’s it. What’s nice about it is that you can then change the manifest templates or values files, and when you install the updated result, you have a single concrete new state that your entire application is in. Which makes it easy to version your entire application, whether you changed just one env var in one manifest or made many changes thoughout.
There’s a package manager component but you can skip that completely and imo it’s just confusing that they lead front and center with that component.
The essential commands are helm ls and helm upgrade. And helm rollback is nice too.