Deploying to Kubernetes
Local Deployment
The BIA-binder is fully deployed using helmsman which can be installed using your preferred package manager, e.g. on mac:
brew install helmsman
Helmsman
repackages helmsman
yaml files into helm
(the preferred Kubernetes package manager) commands.
Once installed the full environment can be deployed using
helmsman --apply -f helmsman.yaml -f helmsman-production.yaml
This can be limited to only the staging environment say using
helmsman --apply -f helmsman.yaml -f helmsman-production.yaml --group staging
Helmsman is expecting that the context name of the cluster you are deploying to is called CPU. To deploy to a cluster called say GPU, and with the necessary GPU overrides for JupyterHub and Binderhub, you append the helmsman-gpu.yaml
helmsman --apply -f helmsman.yaml -f helmsman-production.yaml -f helmsman-gpu.yaml
helmsman-token.yaml
is reserved for runners within the cluster deploying to the cluster as would be the case with GitLab, which is how the BIA-Binder is deployed.
The minikube variant of the deployment is also availiable using
helmsman --apply -f helmsman.yaml -f helmsman-minikube.yaml
The 'helmsman-*'
files can all be mixed and matched but the order of operations does matter.