Helm and Tiller — Steer along…
Helm is a package manager for Kubernetes (K8S) that makes it easy for developers to manage, configure and deploy applications and services in a K8S cluster. Helm is composed of a command line client part called helm and an in-cluster server component called Tiller. More details can be found on the Helm homepage.
In ship terminology, helm (or steering wheel) is the handler of tiller (or the rudder). However, a google search of helm gives you the package manager’s homepage as the highest ranked result, while a search for tiller ranks shipping references on top. Anyhow, this post is more about the experience in configuring the helm client and tiller in various development environment configurations. The examples below are based on helm client (and tiller) versions 2.13.0-rc.1.
When we began configuring helm client and tiller for our use, we came across multiple configuration use cases that may be needed in a development environment. Here are some of those:
- Helm client in the host that is acting as master node of K8S cluster; tiller server in the cluster.
- Helm client in the host that is acting as worker node of K8S cluster; tiller server in the cluster.
- Helm client in the host that is not part of the K8S cluster; tiller server in the cluster.
- Helm client inside a pod…