
Helm 2.0 stable release - slack
https://deis.com/blog/2016/helm-is-now-stable/
======
wstrange
For those wondering what helm is all about:

Helm is a package manager for Kubernetes. It allows you to search for and
install "charts" \- which are pre-packaged applications that can be deployed
on Kubernetes.

I have been using it for the past month - and am really enjoying it.

Congrats to the helm team.

~~~
AlexB138
I don't currently use K8s, but am planning to get into it soon. Could you
clarify the difference or advantage between using a Kubernetes specific
package manager like Helm vs using a container repository? Isn't part of the
point of containers to use prebuilt immutable containers?

~~~
swozey
I use Helm to deploy containers to various environments and clusters in k8s
using its gotepl/sprig template system. The last thing that I want to do with
my containers is to lock my environment variables inside of them, then I'm
going to need multiple sets of containers per microservice (prod, staging,
yaddayadda) and have to go through the process of docker commit, push, etc.

Beyond that there are also a lot of Kubernetes specific variables that you
want to be able to define before you launch pods. You often need to set
namespaces, resource limits, labels, persistentDisks, etc, things that would
not be defined in any docker container at all. I also use Helm to template
that out.

With Helm you can package the network config (load balancers, services),
volumes, secrets, etc very easily. These are things that have nothing to do
with the actual docker container lifecycle. There are a lot of kubernetes
objects that need to be configured for an actual deployment.

~~~
AlexB138
Thanks for the answer.

So, again, coming from a place of having done a couple passes of the basics,
but otherwise completely ignorant.

What is the advantage of having that kind of config info baked into a package
vs having it in etcd?

Again, I really appreciate it.

~~~
joseph
When you deploy with Kubernetes, you need some yaml or json files to define
the configuration of your stack. Depending on the complexity of the stack,
this could grow to a significant number of files. Helm allows this collection
of files to be put into a single shareable package. Then, rather than calling
the 'kubectl' command a number of times to deploy each individual component,
you'd make one call to Helm to do it all at once.

------
steveeq1
Arrggh, I got all excited because I thought they were talking about "Helm for
emacs"

~~~
bitforger
Same

