Helm is the official package manager for Kubernetes. If you are looking to start using Helm or want to test its capabilities, I suggest you set up a Production Hobby Cluster. This article is a continuation of the Production Hobby Cluster configuration but should be entirely useful on its own.
From https://github.com/kubernetes/helm - Helm has two parts: a client (helm) and a server (tiller) - Tiller runs inside of your Kubernetes cluster and manages releases (installations) of your charts. - Helm runs on your laptop, CI/CD, or wherever you want it to run. - Charts are Helm packages that contain at least two things: - A description of the package (Chart.yaml) - One or more templates, which contain Kubernetes manifest files - Charts can be stored on disk, or fetched from remote chart repositories (like Debian or RedHat packages)
# on MacOS using homebrew (http://brew.sh) brew install kubernetes-helm # on windows using https://chocolatey.org/ choco install kubernetes-helm
The following configuration creates a ServiceAccount named tiller and a ClusterRoleBinding between the new tiller account and the cluster-admin role. Of course, you can define your own Role and permissions, however, the cluster-admin role has admin access, and that is what we want for a Production Hobby Cluster. Permissions can always become more restrictive in the future should our hobby become more sophisticated.
You can apply the configuration with the following command:
kubectl create -f https://gist.githubusercontent.com/cjimti/9fab60c0b21a97cbe15688f5e28d940f/raw/29cbeff70bc528e5212ebc3f63e08fb5a24d5ecd/00-tiller-rbac.yml
helm init --service-account tiller
To see what Helm just installed on your cluster run:
kubectl get all -l app=helm -n kube-system
If in a few days you find yourself setting up a cluster in Japan or Germany on Linode, and another two in Australia and France on vultr, then you may have just joined the PHC (Performance Hobby Clusters) club. Some people tinker late at night on their truck, we benchmark and test the resilience of node failures on our overseas, budget kubernetes clusters. It’s all about going big, on the cheap.
Port Forwarding / Local Development
Check out kubefwd for a simple command line utility that bulk forwards services of one or more namespaces to your local workstation.
Helm on Custom Kubernetes: Kubernetes package management. by Craig Johnston is licensed under a Creative Commons Attribution 4.0 International License.