Example deployment on AWS EKS

I wanted to share an example deployment of JupyterHub on AWS EKS.

It is structured as a CDK app in Python, and includes:

  • An example of a custom Docker image
  • A “shared” directory to which all users have access
  • Two user profiles with different resource limits/guarantees
  • A cluster that automatically scales from 1-10 nodes

It uses EFS with the efs-csi-driver addon for persistent storage. It uses the latest helm chart version as of this writing – v3.0.3.

After installing the dependencies, launching a working JupyterHub environment (and deploying subsequent configuration changes) is as simple as running:

cdk deploy

I hope this repo serves as a nice starting point for anyone looking to deploy JupyterHub on AWS. If you see any opportunities to improve it, please let me know!