Setting up Helm 3 (Preview)¶
Warning
Helm 3 is not yet officially supported by Zero to JupyterHub. Upgrades from Helm 2 are not handled. Helm 3 should only be used for testing new clusters. Please report any bugs on the GitHub issue tracker.
Helm, the package manager for Kubernetes, is a useful tool for: installing, upgrading and managing applications on a Kubernetes cluster. Helm packages are called charts. We will be installing and managing JupyterHub on our Kubernetes cluster using a Helm chart.
Charts are abstractions describing how to install packages onto a Kubernetes
cluster. When a chart is deployed, it works as a templating engine to populate
multiple yaml
files for package dependencies with the required variables, and
then runs kubectl apply
to apply the configuration to the resource and install
the package.
Helm 3 includes several major breaking changes including:
The Tiller server component is removed. Helm now uses the default Kubernetes security mechanisms. This greatly improves security.
Uses a three way instead of two way strategic merge. This may affect how upgrades are merged into an existing deployment.
See the Helm 3 FAQ for more information.
Installation¶
While several methods to install Helm exist, the simplest way to install Helm is to run Helm’s installer script in a terminal:
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
Helm 3 uses the same security mechanisms as other Kubrenetes clients such as
kubectl
. Since it does not have a separate server process no special steps
are required to secure it.
Verify¶
You can verify that it is installed properly by running:
helm list
You should see an empty list since no Helm charts have been installed:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
Next Step¶
Helm 3 will not automatically create a namespace for JupyterHub.
If you are using a namespace other than default
create it now:
kubectl create namespace $NAMESPACE
Now continue with Setting up JupyterHub.