1
votes

In the zero-to-binderhub user documentation, the command to install BinderHub based on version 0.2.0-3b53fce was

helm install jupyterhub/binderhub --version=0.2.0-3b53fce --name=binder --namespace=binder -f secret.yaml -f config.yaml

The above code requires helm 2 to run. Question: How to change this installation command using helm 3?

There is a post at https://github.com/jupyterhub/binderhub/issues/1046 which discussed that all helm 3 compatible jupyterhub/binderhub charts have the special -n pattern preceding the digits. So run this command to get a list of helm 3 compatible charts: helm search repo jupyterhub/binderhub --devel -l | grep "\\-n" enter image description here

I finally installed version 0.2.0-n301.hc5e7db2 jupyterhub/binderhub chart using:

helm install jupyterhub jupyterhub/binderhub \
    --version=0.2.0-n301.hc5e7db2 \
    -f binderhub/secret.yaml \
    -f binderhub/config.yaml

Now in this deployment, the namespace is default, which is weird.

fwiw, I'm using Google Kubernetes Engine (GKE) to try to deploy a BinderHub. The default helm version of my GKE is 3.2.1. Additionally, helm 2 is going to deprecate and no longer maintain very soon, that's the reason why I am seeking a way to install BinderHub using helm v3. Thank you in advance.

1
Does it need to be this specific version? I am not able to find in in repo helm search repo -l jupyterhub/binderhub however I am also not able to deploy other versions. Still investigating Did you try to follow Binderhub for GKE - PjoterS
@PjoterS Since the default helm version in GKE is 3.2.1, I'm just sticking to it. If you run helm search repo jupyterhub/binderhub --devel -l | grep "\\-n", you will see a list of jupyterhub/binderhub charts. - son520804
I mean if you need this specific binderhub version --version=0.2.0-3b53fce. I am asking as I couldnt find it in repo (I saw other versions). Did you try Binderhub for GKE from my previous comment? - PjoterS
I definitely do not need this binderhub version which is not helm 3 compatible. I need the version 0.2.0-n301.hc5e7db2 instead. - son520804
By the way, although I did not specify the name and namespace, I used this code helm install jupyterhub jupyterhub/binderhub \ --version=0.2.0-n301.hc5e7db2 \ -f binderhub/secret.yaml \ -f binderhub/config.yaml and worked out. - son520804

1 Answers

1
votes

Posting this as Community Wiki for better visibility as solution was mention in comments and question.

If you will deploy Binderhub on GKE using command

$ helm install jupyterhub/binderhub jupyterhub --version=0.2.0-3b53fce binder -f secret.yaml -f config.yaml

you will receive error:

Error: failed to download "jupyterhub/binderhub" (hint: running helm repo update may help)

Issue is related with Helm v3 standard.

it relates to Helm3 not accepting to work with any helm chart that doesnt have a version according to the SemVer 2 standard.

Similar issue was mention in this github thread.

Also in this thread was mention that specific jupyterhub/binderhub charts with special -n pattern is compatible with Helm v3.

To list all binderhub compatible version:

$ helm repo add jupyterhub https://jupyterhub.github.io/helm-chart
$ helm repo update
$ helm search repo jupyterhub/binderhub --devel -l | grep "\\-n"

As OP stated in question, when use proper version, secret.yaml and configuration.yaml was able to deploy jupyterhub/binderhub chart.

$ helm install jupyterhub jupyterhub/binderhub \
    --version=0.2.0-n301.hc5e7db2 \
    -f binderhub/secret.yaml \
    -f binderhub/config.yaml

In addition, there is special binderhub version for Google Cloud - BinderHub to Google Cloud.