Chapter 14. The Ecosystem

In this chapter, we take a look at the wider Kubernetes ecosystem; that is, software in the Kubernetes incubator and related projects such as Helm and kompose.

14.1 Installing Helm, the Kubernetes Package Manager

Problem

You do not want to write all the Kubernetes manifests by hand. Instead, you would like to be able to search for a package in a repository and download and install it with a command-line interface.

Solution

Use Helm. Helm is the Kubernetes package manager; it defines a Kubernetes package as a set of manifests and some metadata. The manifests are actually templates. The values in the templates are filled when the package is instantiated by Helm. A Helm package is called a chart.

Helm has a client-side CLI called helm and a server called tiller. You interact with charts using helm, and tiller runs within your Kubernetes cluster as a regular Kubernetes deployment.

You can build Helm from source or download it from the GitHub release page, extract the archive, and move the helm binary into your $PATH. For example, on macOS, for the v2.7.2 release of Helm, do this:

$ wget https://storage.googleapis.com/kubernetes-helm/ \
  helm-v2.7.2-darwin-amd64.tar.gz

$ tar -xvf helm-v2.7.2-darwin-amd64.tar.gz

$ sudo mv darwin-amd64/64 /usr/local/bin

$ helm version

Now that the helm command is in your $PATH, you can use it to start the server-side component, tiller, on your Kubernetes cluster. Here we use Minikube as an example:

$ kubectl get nodes ...

Get Kubernetes Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.