Skip to main content
Version: 5.4.0

JupyterHub with KAI Scheduler

Overview

The JupyterHub with KAI Scheduler template provisions a Kubernetes cluster with JupyterHub with KAI Scheduler for interactive notebook workloads and scheduled jobs. Use this template when you need a ready-to-use JupyterHub environment on Kubernetes.

Accessing the cluster

Bridge provides two ways to work with your cluster after it is created:

  • Download kubeconfig — You can download the cluster kubeconfig file from the cluster menu. Use this file to access the cluster from your local machine or external tools (e.g., kubectl, IDEs, or CI/CD pipelines) by setting KUBECONFIG or merging the file into your default kubeconfig.

  • Kubectl Terminal — The Kubectl Terminal feature in Bridge lets you interact directly with the Kubernetes cluster from Bridge UI. You do not need to log in to the cluster separately from an external terminal. With this feature you can:

    • Run kubectl commands directly from the UI
    • Manage and monitor cluster resources without switching to a separate command-line environment
    • Perform cluster operations from Bridge UI and save time

This guide covers:

  • Configuring cluster name, version, and CNI
  • Selecting the JupyterHub with KAI Scheduler template and hostname
  • Selecting nodes and monitoring creation until the cluster is Running
  • Downloading kubeconfig, viewing nodes and GPUs, and using the Kubectl Terminal

Prerequisites

  • Tenant Admin access — Log in as a Tenant Admin to create clusters.
  • Compute resources — Bare Metal or Virtual Machine resources allocated to your tenant.

Create a JupyterHub with KAI Scheduler Cluster

Step 1: Start Cluster Creation

  1. Log in to Bridge as a Tenant Admin.
  2. In the left sidebar, click ComputeKubernetes.
  3. Click Create Kubernetes.

Create Cluster Button

Step 2: Configure Cluster Details

  1. Select the cluster Type as Upstream.
  2. Enter a name and description for the cluster, then click Next.
  3. Select the Kubernetes version.
  4. Select the CNI plugin. Bridge supports Flannel and Cilium.
  5. (Optional) Enable Install NVIDIA GPU tools if you want GPU tooling on the cluster.
  6. Click Next.

Fill Cluster Setup Details

Fill Cluster version and cni Details

Step 3: Select Cluster Template

  1. Choose Launch JupyterHub with Kai Scheduler template.
  2. Enter the Hostname (for example, jupyter.armada.ai) as required by your environment.
  3. Click Next.

Fill Cluster Template Details

Step 4: Select Nodes and Create

  1. Select the cluster node(s) (Bare Metal or Virtual Machine).
  2. Click Create to start cluster creation.

Select Cluster Nodes

Step 5: Monitor Cluster Creation

Cluster creation runs through several states. Wait until the status is Running.

  1. Initializing Control Planes — Status shows Processing.

Cluster Process State

  1. Initializing Workers — Status remains Processing.

Cluster Initialize State

  1. Deploying Template — Status remains Processing.

Cluster Deploy Template State

  1. When creation completes, the Status shows Running.

Cluster Success State

Step 6: Download Kubeconfig

  1. Click the menu (ellipsis) icon for the cluster.
  2. Select Kubeconfig to download the cluster kubeconfig file.

Create Cluster Button

Step 7: View Cluster Details and Access Tools

Click the cluster view icon (or cluster name) to open cluster details.

  • Overview — Cluster information, and options to scale the cluster, download kubeconfig, access the dashboard, and delete the cluster.

Cluster Overview

  • Kubectl Terminal — Click the Kubectl Terminal (arrow) icon to access the cluster and run kubectl commands.

Cluster K8s Terminal

note

Ensure all pods are in Running state before using the cluster for workloads. In the Kubectl Terminal, run:

kubectl get pods -A
  • Nodes — Details of the nodes allocated to the cluster.

Cluster Nodes Details

  • GPUs — Click the GPUs tab to view allocated GPU details.

Cluster GPU Details

Next Steps

  • Create and Access Workspace — Launch interactive JupyterHub notebook servers with GPU, CPU, or MIG resources for data analysis and ML development.
  • Create JupyterHub Endpoint — Create a JupyterHub endpoint to expose the service via a hostname with TLS.
  • Application Deployment — Deploy custom applications and web services on your cluster, accessible via HTTP endpoints.
  • Kubernetes Upgrade — Upgrade your cluster to the latest Kubernetes version for new features and security patches.
  • Cluster Scaling — Scale worker nodes up or down to match workload demands without recreating the cluster.