Skip to content

Configuration

This enables the deployment of Jupyter Notebooks on a Kubernetes cluster, providing tailored environments for data scientists and machine learning engineers to support diverse workloads.

It provisions a Jupyter Notebook environment optimized for specific use cases, allowing users to select from multiple pre-configured options such as minimal environments, data science platforms, distributed processing with Spark, and GPU-accelerated environments using TensorFlow or PyTorch. Each environment includes the necessary libraries and dependencies, enabling users to focus on their work without setup complexity.

As part of the output, users can be provided with a URL for a ready-to-use Jupyter Notebook environment that can be accessed through the configured endpoint, supporting streamlined development and experimentation.

For detailed steps to get started, refer to the Jupyter Notebook Get Started Guide.


Initial Setup

The platform (Org) admin selects and customizes the Jupyter Notebook system template from the catalog, configures agents and parameters, and shares the finalized version with the project. This makes the template available for users in downstream projects.

sequenceDiagram
    participant OrgAdmin as Org Admin
    participant Catalog as Template Catalog
    participant Project as Project
    participant Agent as Agent

    OrgAdmin->>Catalog: Browse & Select Jupyter Notebook System Template
    OrgAdmin->>Project: Create new Project (jupyter-notebook)
    OrgAdmin->>Project: Import Template from Catalog
    OrgAdmin->>Project: Configure Input Variables<br/>(Cluster, Notebook, Resource, Networking)
    OrgAdmin->>Project: Set Overrides (restrict edits, set defaults)
    OrgAdmin->>Agent: Configure Agent for Workflow Execution
    OrgAdmin->>Project: Save Template as Draft
    OrgAdmin->>Project: Activate Template Version (freeze changes)

End User Flow

End users launch the shared Jupyter Notebook template, provide the mandatory parameters (Namespace, Action, Kubeconfig, Pod Image), and deploy the environment. The notebook is provisioned on the host Kubernetes cluster and returned ready for use.

sequenceDiagram
    participant User as End User
    participant Project as Project
    participant Cluster as Host Kubernetes Cluster

    User->>Project: Launches Shared Template for Jupyter Notebook
    User->>Project: Provides Required Input Values (API Key, REST Endpoint, Configuration Values)
    User->>Project: Clicks "Deploy"
    Project->>Cluster: Provisions a Jupyter Notebook Environment on the Cluster
    Cluster-->>User: Jupyter Notebook Environment Deployed Successfully

The templates are designed to support both:

  • Day 0 operations: Initial setup
  • Day 2 operations: Ongoing management

Resources

A Jupyter Notebook environment is provisioned on a Kubernetes cluster and is optimized for various data science and machine learning workloads.

Pre-Requisites

  • Host Cluster: Ensure that a Kubernetes host cluster with sufficient resources is available and ready for Jupyter Notebook environment deployment.
  • Agent Configuration: Configure agents through Global Settings or during cluster provisioning

Configuration

At template launch, provide the required configuration values as exposed by the Platform Admin. This may include:

  • Jupyter Notebook Configuration:
    • Host Cluster Name: Select the host Kubernetes cluster for deploying the Jupyter Notebook environment
    • Template Parameters: Provide additional parameters as required (for example, environment type selection such as Minimal, Data Science, Spark, TensorFlow, etc.)

After entering the required information, click Deploy to initiate the Jupyter Notebook environment provisioning.


Input Variables for Jupyter Notebook System Template

General Configuration

Name Value Type Description
Namespace Text Namespace where the notebook pod will be deployed
Action Text Operation to be performed (e.g., start, stop, delete)
SKU Type Text Type of SKU used for the notebook pod
Timeout Seconds Number Timeout in seconds for notebook execution
Log Success Pattern Text Pattern in logs that indicates successful execution
KeyAlpha Text Custom key parameter (user-defined)
KeyBeta Text Custom key parameter (user-defined)
KeyGamma Text Custom key parameter (user-defined)
KeyX Text Custom key parameter (user-defined)
KeyY Text Custom key parameter (user-defined)
KeyZ Text Custom key parameter (user-defined)
Device Details Text Device or hardware details associated with the notebook pod
Host Cluster Name Text Name of the host Kubernetes cluster
Kubeconfig Text Kubernetes configuration data for accessing the cluster

Access & Security

Name Value Type Description
Enable SSH Access Boolean Flag to enable SSH access to the notebook pod
Autogenerate SSH Key Boolean Flag to automatically generate an SSH key for access
Public Key Text Public SSH key for notebook access
Enable Web Access Boolean Flag to enable browser-based notebook access
SSL Certificate Public Key Text Public SSL certificate for securing notebook access
SSL Certificate Private Key Text Private SSL key for notebook authentication
Hostname Suffix Text Hostname suffix for accessing the notebook service
Container Port Number Port exposed by the notebook container
Ingress Annotations Map Ingress annotations for notebook service exposure
Ingress Class Name Text Ingress class used for routing notebook traffic
Security Context Map Security context for running the notebook pod

Resource & Runtime Settings

Name Value Type Description
CPU Number CPU resources requested for the notebook pod
Memory Number Memory resources requested for the notebook pod
GPU Count Number Number of GPUs allocated to the notebook pod
GPU Type Text Type of GPU allocated to the notebook pod
Node Type Text Type of node for scheduling the notebook pod
Pod Image Text Container image used for the Jupyter Notebook
Commands List Commands executed on notebook startup
Arguments List Arguments passed to the notebook container process
Env Vars Map Environment variables for the notebook runtime
Is Private Registry Boolean Indicates if the notebook image is from a private registry
Registry Server Text Address of the container registry
Registry Username Text Username for accessing the registry
Registry Password Text Password for registry authentication
Registry Email Text Email associated with the registry account

Storage & Scheduling

Name Value Type Description
Enable Storage Boolean Flag to enable persistent storage for the notebook
Storage Size Text Size of the storage volume (e.g., 10Gi)
Storage Path Text Path for mounting the storage inside the notebook container
Storage Class Text Storage class used for provisioning persistent volumes
Access Mode Text Access mode for the persistent volume (e.g., ReadWriteOnce)
Volume Mounts List Volume mounts for attaching storage to the notebook pod
Tolerations List Tolerations applied for pod scheduling on specific nodes
Node Selectors Map Key-value pairs to constrain the pod to specific nodes

Launch Time

The estimated time to deploy a Jupyter Notebook environment using this template is approximately 2 minutes.