1. Set up the prerequisites#
BinderHub is built to run in a Kubernetes cluster. It relies on JupyterHub to launch and manage user servers, as well as a docker registry to cache docker images it builds.
To deploy your own BinderHub, you’ll first need to set up a Kubernetes cluster. The following instructions will assist you in doing so.
1.1. Setting up a Kubernetes cluster#
First, deploy a Kubernetes cluster by following the instructions in the Zero to JupyterHub guide. When you’re done, move on to the next section.
1.2. Installing Helm#
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.
A Helm chart is mostly Helm templates and default values that are used to render the templates into valid k8s resources. Each installation of a chart is called a release, and each version of the release is called a revision.
Several methods to install Helm exist, the simplest way to install Helm is to run Helm’s installer script in a terminal.
curl -sf https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
1.2.1. Verifying the setup#
Verify that you have installed helm, kubectl, and have an ability to communicate with your Kubernetes cluster.
helm version
Which will output something similar to:
version.BuildInfo{Version:"v3.4.0", GitCommit:"7090a89efc8a18f3d8178bf47d2462450349a004", GitTreeState:"clean", GoVersion:"go1.14.10"}
Then check your kubectl version:
kubectl version
Which will output something similar to:
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:50:19Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:32:58Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}
Now that you’ve installed Kubernetes and Helm, it’s time to Set up the container registry.