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.