Set up Helm

Lightbend Console is provided as a Helm chart. Helm is made up of two parts, a client and a server called Tiller. Some organizations do not allow Tiller to be installed because of security concerns, in which case you can install the Console without Tiller. The client is still required. Whether using Tiller or just the client, you need to install Helm before setting up the Console.

We require that the Tiller has the ability to create cluster RBAC roles. This usually requires cluster-admin privileges. This is to create the read-only roles needed by Console (see RBAC for more details). If desired, the cluster-admin privilege can be removed once Console is installed.

The rest of this page provides a quick start guide for installing Helm and Tiller. Refer to the official Helm install guide for greater detail.

Installing the Helm client

NB. Lightbend Console’s installer script is currently tested to work with Helm 2.16; and is known to be incompatible with Helm 3 at the present time

Install on OS X using homebrew or on Ubuntu 16.04 or higher using curl:

OS X
brew install kubernetes-helm
Ubuntu 16.04+
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh
chmod 700 ./get_helm.sh
sudo ./get_helm.sh

Initializing Tiller

With a cluster running and the Helm client installed, you can initialize Tiller from the command line.

  1. The following commands create a serviceaccount and bind the cluster on Kubernetes & Minikube, OpenShift, or Minishift:

    Openshift & Minishift
    export TILLER_NAMESPACE=kube-system
    oc create serviceaccount --namespace $TILLER_NAMESPACE tiller
    oc create clusterrolebinding $TILLER_NAMESPACE:tiller --clusterrole=cluster-admin --serviceaccount=$TILLER_NAMESPACE:tiller
    helm init --wait --service-account tiller --tiller-namespace=$TILLER_NAMESPACE
    Kubernetes & Minikube
    TILLER_NAMESPACE=kube-system
    kubectl create serviceaccount --namespace $TILLER_NAMESPACE tiller
    kubectl create clusterrolebinding $TILLER_NAMESPACE:tiller --clusterrole=cluster-admin --serviceaccount=$TILLER_NAMESPACE:tiller
    helm init --wait --service-account tiller --tiller-namespace=$TILLER_NAMESPACE
    Note

    If you see a helm-related error along these lines in minikube, usually it means that the version of Helm is out-of-date. There are two options to resolve the problem.

    Option 1: Upgrade Helm to version 2.16 (Recommended)

    For example, owing to the release of Helm 3, on the mac one needs to do something along these lines:

    brew install helm@2  ### installed as keg-only, which means it is not symlinked into /usr/local
    export PATH="/usr/local/opt/helm@2/bin:$PATH"  ### manually put back on the PATH
    helm version  ### verify client and server versions are the same — v2.16.1
    
    ### if version mismatch, then:
    helm init --upgrade
    

    Option 2: Use an older version kubernetes (e.g. 1.15.x)

    Please re-install minikube with option --kubernetes-version v1.15.3 and re-initialize Tiller. For example,

    minikube delete
    minikube start --cpus 4 --memory 8192 --kubernetes-version v1.15.3
    
  2. Verify that the client and server versions match:

    helm version
    
    Note

    In OpenShift, you might need to manually specify a different version than the one given in the example commands.