Marketplace

JupyterHub with PyTorch and CUDA

Updated July 4, 2024

JupyterHub is a multi-user server for Jupyter notebooks, providing a collaborative environment for data science, machine learning, and scientific computing. This Kubernetes-compatible application includes PyTorch, a popular deep learning framework, and CUDA support for GPU acceleration. JupyterHub allows organizations to serve computational environments to multiple users, making it ideal for teams, academic courses, and research labs. PyTorch enables efficient tensor computations and dynamic neural networks, while CUDA support leverages NVIDIA GPUs for accelerated computing. You can deploy JupyterHub with PyTorch and CUDA in your Nebius AI Managed Service for Kubernetes clusters using this Marketplace product.

Deployment instructions

Prepare the environment: create a Kubernetes cluster and a node group in it. Each node in the group should have at least 8 GB of RAM.

Install and configure the product:

  1. Click the button in this card to go to the cluster selection form.

  2. Select the folder and the cluster, and click Continue.

  3. Configure the application:

    • Namespace: Select a namespace or create a new one.

    • Application name: Enter an application name.

    • Storage capacity: Specify a disk size for a notebook server. One user can only have one server and each server has one disk of the specified size. Disks are persistent between restarts: if you start working in one notebook and then switch to another, your work will still be there. Disks do not scale up automatically, so enter a size sufficient for your needs.

    • JupyterHub accessibility: Select a way to access the JupyterHub cluster:

      • ClusterIP for access by port-forwarding.
      • LoadBalancer for access from the Internet by IP or by port-forwarding.

      Warning

      LoadBalancer uses one IP address from the Number of public IP addresses per cloud quota.

  4. Click Install.

  5. Wait for the application to change its status to Deployed.

Depending on the way to access the cluster you have chosen while configuring the application, get the IP or use port-forwarding to access the JupyterHub UI:

  • LoadBalancer

    1. Go to the cluster page in the management console. Copy the public IP from the proxy-public line on the Network tab. If you have kubectl installed and configured, you can also get the IP using the following command:

      kubectl describe svc proxy-public -n <namespace> | grep "LoadBalancer Ingress:"
      
    2. Go to http://<ip> in your browser. On the login screen, specify the user as admin and enter a password that will be saved as the admin's password.

  • ClusterIP

    1. Set up port forwarding (you will need to install and configure kubectl for that):

      kubectl --namespace=<namespace> port-forward service/proxy-public 8080:http
      
    2. Go to http://localhost:8080 in your browser. On the login screen, specify the user as admin and enter a password that will be saved as the admin's password.

To create and manage users in JupyterHub:

  1. In the top menu, click FileHub Control Panel.
  2. Click Admin.
  3. Click Add Users.
  4. Enter usernames, one per line. To make the new users admins and allow them to manage users, select the Admin checkbox.
  5. Click Add Users.

When adding users, you will not create passwords for them. A new user creates their password themselves when they first log into JupyterHub.

Billing type
Free
Type
Kubernetes® Application
Category
Developer tools
Dataset preparation
Training
Inference
Publisher
Nebius
Use cases
  • Data preprocessing and exploration for machine learning projects
  • Collaborative research in academic and scientific environments
  • Training and fine-tuning deep learning models using PyTorch
  • Accelerated computing tasks using NVIDIA GPUs
  • Interactive coding and visualization for data analysis
  • Educational purposes, such as teaching programming or data science courses
  • Prototyping and experimenting with machine learning algorithms
  • Sharing and reproducing research results in computational sciences
  • Running distributed machine learning workloads across multiple nodes
  • Developing and testing AI applications in a scalable environment
Technical support

Nebius AI does not provide technical support for the product. If you have any issues, please refer to the developer’s information resources.

Product composition
Helm chartVersion
Pull-command
Documentation
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/chart/jupyterhub3.3.7Open
Docker imageVersion
Pull-command
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/k8s-hub3.3.7
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/configurable-http-proxy4.6.1
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/traefikv2.11.0
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/k8s-secret-sync3.3.7
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/base-notebooknotebook-7.2.1
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/pytorch-notebookcuda12-notebook-7.2.1
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/k8s-network-tools3.3.7
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/k8s-singleuser-sample3.3.7
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/kube-schedulerv1.26.15
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/pause3.9
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/k8s-image-awaiter3.3.7
cr.nemax.nebius.cloud/yc-marketplace/nebius/jupyterhub/image/pause3.9
Billing type
Free
Type
Kubernetes® Application
Category
Developer tools
Dataset preparation
Training
Inference
Publisher
Nebius