Skip to main content

JupyterHub

Multi-user Jupyter notebook server with PySpark integration.

CategoryAnalytics
Deploy./uis deploy jupyterhub
Undeploy./uis undeploy jupyterhub
Depends onNone
Required byNone
Helm chartjupyterhub/jupyterhub (unpinned)
Default namespacejupyterhub

What It Does

JupyterHub provides a web-based interactive notebook environment for data science and analytics. Each user gets their own notebook server pod with persistent storage and pre-installed data science tools.

Key capabilities:

  • PySpark integration — pre-configured via lifecycle hooks for distributed data processing
  • Multi-user — each user gets an isolated notebook pod (10Gi storage)
  • DummyAuthenticator — simple password-based access for development
  • Pre-installed toolsjupyter/pyspark-notebook:spark-3.5.0 image with Python, Spark, pandas
  • Admin panel — manage users and servers at /hub/admin

Deploy

./uis deploy jupyterhub

No dependencies.

Verify

# Quick check
./uis verify jupyterhub

# Manual check
kubectl get pods -n jupyterhub

# Test the UI
curl -s -o /dev/null -w "%{http_code}" http://jupyterhub.localhost
# Expected: 200 or 302 (redirect to login)

Access the notebook interface at http://jupyterhub.localhost.

Configuration

SettingValueNotes
Notebook imagejupyter/pyspark-notebook:spark-3.5.0PySpark-enabled
User storage10Gi per userPersistent across sessions
Pod resources2 CPU, 2GB memoryPer notebook pod
AuthDummyAuthenticatorPassword from secrets

Secrets

VariableFilePurpose
DEFAULT_JUPYTERHUB_AUTH_PASSWORD.uis.secrets/secrets-config/default-secrets.envLogin password

Key Files

FilePurpose
ansible/playbooks/350-setup-jupyterhub.ymlDeployment playbook
ansible/playbooks/350-remove-jupyterhub.ymlRemoval playbook

Undeploy

./uis undeploy jupyterhub

Troubleshooting

Pod won't start:

kubectl describe pod -n jupyterhub -l app=jupyterhub
kubectl logs -n jupyterhub -l component=hub

Notebook server not spawning: Check the hub logs for spawn errors:

kubectl logs -n jupyterhub -l component=hub --tail=30

PySpark not available in notebooks: Verify the lifecycle hook configured Spark correctly:

kubectl logs -n jupyterhub -l component=singleuser-server --tail=20

Learn More