Getting Started with Jupyter Notebook¶
Overview¶
This self-paced guide helps you explore the platform’s capabilities for deploying Jupyter Notebook environments using system templates from the template catalog. These environments are optimized to support a range of data science and machine learning workloads with preconfigured libraries and dependencies.
Users can select from multiple environment types based on their workload needs, including lightweight setups, data science workbenches, and GPU-accelerated machine learning environments.
Prerequisites¶
Before proceeding, ensure the following:
Pre-Requisites¶
- Host Cluster: Ensure that a Kubernetes host cluster is available and ready for Jupyter Notebook deployment.
- Rafay Configuration: At template launch, supply the following configuration values:
- API Key
- REST Endpoint
- Agent Configuration: A configured agent must be available in the project where the template will be used, and it should be in a healthy state. Follow these instructions to deploy a new agent. Existing agents within the project can be reused if available.
Part 1: Select and Share the Jupyter Notebook System Template¶
This section guides you through selecting and sharing the Jupyter Notebook system template with a central project where the Org admin can customize it before sharing it with other projects.
Step 1: Create a Project¶
To begin, create a logically isolated “operating environment” (sub-tenant):
- Navigate to Home > Your Projects.
- Click New Project and name it
jupyter-notebook
.
Step 2: Select and Share the Jupyter Notebook System Template¶
- As an Org Admin, go to System -> Template Catalog.
- Select the AI/ML category and choose the Jupyter Notebook.
- Click Get Started.
- Provide the following details:
- A unique name for the shared template.
- A version name (e.g.,
1.0
). - Select the project to share the template with (e.g.,
jupyter-notebook
).
- After sharing, the platform redirects you to the selected project (
jupyter-notebook
).
- Go to Agents and configure the required Agent to drive the workflow. Select the Agent from the dropdown list. If no Agents are shown, the Agent may need to be set up (refer to the prerequisites).
Configuration Customization¶
- Customize and templatize all Jupyter Notebook configurations using input variables, including:
- Cluster and Access settings: Host server, kubeconfig, client certificate and key data, certificate authority data
- Notebook parameters: Notebook name, notebook profile, notebook profiles list
- Resource settings: CPU request, CPU limit, memory request, memory limit, GPU limit, PVC storage
- Networking settings: Namespace, ingress domain, ingress IP, ingress namespace, subdomain, custom domain, custom secret
- Cluster management: Host cluster name, project, cluster name
- Restrict user edits for specific variables by:
- Setting overrides to Not Allowed for selected variables
- Defining default values that cannot be edited at the time of launch
- Provide authentication details for creating a Jupyter Notebook by setting the API key. The Org Admin can configure this by editing the Inline config context (e.g.,
rafay-auth-config
) or take it as input while launching the template. Additionally, a system DNS configuration (e.g.,system-dns-config
) is associated as an Existing config context. To set the API key, edit the Inline configuration context as shown below.
This ensures consistency and prevents unauthorized changes by end users.
- Save the template as a Draft to allow ongoing edits until the configuration is finalized. Once all changes are complete, set it as an Active Version to freeze the version. Learn more about version management.
Part 2: Launch the Template to Create an Jupyter Notebook¶
You can launch the template within the same project or share it with other projects for end-user access.
-
Go to the Environments section within the
jupyter-notebook
project or the shared project. -
The shared template will be listed and ready for use.
-
Click Launch.
-
Provide only the configuration options exposed to the template consumer, such as:
- Agent
- Host Cluster
- Notebook Profile
- Cluster Name
- Ingress Configuration (Ingress Domain, Ingress Namespace, Ingress IP)
- Authentication Parameters (API Key, Controller Endpoint)
-
All other configurations are pre-configured and set as override: Not Allowed to ensure a simple and streamlined experience for the end user.
Deleting/Destroying the Jupyter Notebook¶
- Navigate to the environment of the created Notebook.
- Click Destroy and confirm the action by selecting Yes.
- This will delete the Jupyter Notebook along with all dependent resources created as part of the cluster.
Conclusion¶
By following these steps, you have successfully:
- Selected and shared the Jupyter Notebook system template.
- Used the template to perform Lifecycle Management of Jupyter Notebooks.
These system templates simplify Jupyter Notebook management, ensure compliance with organizational standards, and provide flexibility for specific workflows.