Getting Started#
Tip
Want a turnkey path? Use a jupyter-deploy template to provision your Kubernetes cluster, install the Jupyter K8s operator and the routing infrastructure.
Install Jupyter K8s into an existing Kubernetes cluster using Helm.
Prerequisites#
Kubernetes cluster (v1.28+)
Helm (v3.12+)
kubectlconfigured to access the cluster
Install the chart#
The Jupyter K8s chart is published as an OCI artifact on GitHub Container Registry.
helm install jupyter-k8s oci://ghcr.io/jupyter-infra/charts/jupyter-k8s \
--namespace jupyter-k8s-system \
--create-namespace
This installs the controller, extension API server, and CRDs into the jupyter-k8s-system namespace.
Verify the installation#
kubectl get pods -n jupyter-k8s-system
You should see the controller pod running:
NAME READY STATUS RESTARTS AGE
jupyter-k8s-controller-manager-xxxxx 1/1 Running 0 30s
Confirm the CRDs are registered:
kubectl get crds | grep workspace.jupyter.org
workspaces.workspace.jupyter.org 2025-01-01T00:00:00Z
workspacetemplates.workspace.jupyter.org 2025-01-01T00:00:00Z
workspaceaccessstrategies.workspace.jupyter.org 2025-01-01T00:00:00Z
Configuration#
The chart exposes configuration via values.yaml. Common options:
helm install jupyter-k8s oci://ghcr.io/jupyter-infra/charts/jupyter-k8s \
--namespace jupyter-k8s-system \
--create-namespace \
--set manager.resources.limits.memory=512Mi
See the Helm Chart Values reference for all available options.
Bring your applications#
Jupyter K8s orchestrates compute, storage, networking, and access control — but does not ship application images. You bring your own container images (JupyterLab, VS Code, or any HTTP-serving application) and reference them in workspace.spec.image.
See Applications for image requirements and configuration guides.
Uninstall#
helm uninstall jupyter-k8s -n jupyter-k8s-system
By default, Helm retains CRDs. To fully remove them from your cluster, run:
kubectl delete crds \
workspaces.workspace.jupyter.org \
workspacetemplates.workspace.jupyter.org \
workspaceaccessstrategies.workspace.jupyter.org