Heron on Kubernetes with Helm

Helm is an open source package manager for Kubernetes that enables you to quickly and easily install even the most complex software systems on Kubernetes. Heron has a Helm chart that you can use to install Heron on Kubernetes using just a few commands. The chart can be used to install Heron on the following platforms:

Installing Helm in your Kubernetes cluster

To run Helm on Kubernetes, you need to first make sure that kubectl is using the right configuration context for your cluster. To check which context is being used:

$ kubectl config current-context

If the context is correct, then you can get Helm running using just one command:

$ helm init

If the output of that command includes Happy Helming! then Helm is ready to go.

Installing Heron on Kubernetes

Once you’ve installed the Helm client on your machine and gotten Helm running in your Kubernetes cluster, you need to make your client aware of the heron-charts Helm repository, which houses the chart for Heron:

Minikube

To run Heron on Minikube, you need to first install Minikube. Once Minikube is installed, you can start it by running minikube start. Please note, however, that Heron currently requires the following resources:

7 GB of memory

5 CPUs

20 GB of disk space

To start up Minikube with the minimum necessary resources:

$ minikube start \
--memory=7168\
--cpus=5\
--disk-size=20g

Once Minikube is running, you can then install Heron in one of two ways:

Amazon Web Services

To run Heron on Kubernetes on Amazon Web Services (AWS), you’ll need to

$ helm install heron-charts/heron \
--set platform=aws

Bare metal

To run Heron on a bare metal Kubernetes cluster:

$ helm install heron-charts/heron \
--set platform=baremetal

Running topologies on Heron on Kubernetes

Once you have a Heron cluster up and running on Kubernetes via Helm, you can use the heron CLI tool like normal if you set the proper URL for the Heron API server. When running Heron on Kubernetes, that URL is:

When setting the heron CLI configuration, make sure that the cluster name matches the name of the Helm installation. This can be either the name auto-generated by Helm or the name you supplied via the --name flag upon installation (in some of the examples above, the heron-kubernetes name was used). Make sure to adjust the name accordingly if necessary.