> For the complete documentation index, see [llms.txt](https://docs.cloudeka.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloudeka.ai/guidance-for-enterprise/deka-gpu-mlops/notebook.md).

# Notebook

The Notebooks menu is used to create notebooks for data analysis, software development, or machine learning experiments using JupyterLab, which runs in Pods on the Cloudeka Deka MLOps Service Portal cluster.

<figure><img src="/files/kkgZORqO5G4Thq27VUPg" alt=""><figcaption></figcaption></figure>

## Create Notebooks

Create Notebooks is used to create new notebooks on the Cloudeka Deka MLOps Service Portal. On the Notebooks page, click the **+ New Notebook** button.

<figure><img src="/files/khWmNk4FbyqOFaCDF5XN" alt=""><figcaption></figcaption></figure>

### Choose Notebook: JupyterLab

The New Notebook page appears, and several fields must be completed. In the **Name** field, enter the name of the notebook. The name must consist of lowercase alphanumeric characters or hyphens (-), start with an alphabetic character, and end with an alphanumeric character. In this guide, JupyterLab is used as the notebook environment. In the **Custom Notebook** section, specify the image name created in the Deka Registry through the Service Portal Cloudeka.

<figure><img src="/files/KVpFyNFYmlFenk5gnD90" alt=""><figcaption></figcaption></figure>

### Add CPU/RAM and GPUs

In the **CPU/RAM** section, adjust the **Minimum CPU** and **Minimum Memory Gi** values according to your requirements. In the **GPUs** section, specify the GPU to be used. The **GPU Vendor** field is automatically set to NVIDIA.

<figure><img src="/files/45cMfqT68p7DV7Nbtdfc" alt=""><figcaption></figcaption></figure>

### Add Workspace Volume

Workspace Volumes are used to store data used by notebooks and other workloads, helping to organize and manage data during development. In the **Workspace Volume** section, you can configure a volume that will be mounted to the notebook.

<figure><img src="/files/SjN9FDup9MmIVNbE4F7o" alt=""><figcaption></figcaption></figure>

To view the volume configuration details, click the expand icon next to the **Delete** icon. The available volume types are **Empty volume** and **Custom (Advanced)**. The first volume type is **Empty volume**, which is used to create a new storage volume that can be mounted to the notebook.

<figure><img src="/files/LWKgAemRP90peDZHMkHr" alt=""><figcaption></figcaption></figure>

By default, the **Empty volume** type displays the following settings:

a. The volume type is set to **Empty volume**.

b. The default name for the new volume is **"-volume"**. You can customize the name as needed.

c. The default size is **5 Gibibytes (GiB)**.

d. By default, the **Storage Class** uses **storage-nvme-c1**. If **Use Default Class** is not selected, several options are available, including **Empty Storage Class**, **storage-mgmt**, **storage-nlsas**, **storage-nvme-c2**, and other built-in classes.

e. There are three access modes available:

* **ReadWriteOnce (RWO)** provides exclusive read and write access to a single notebook server.
* **ReadOnlyMany (ROX)** provides read-only access for multiple notebook servers.
* **ReadWriteMany (RWX)** provides concurrent read and write access for multiple notebook servers.

f. The **Mount Path** is the location in the container where the volume is accessed. For Workspace Volumes, the default directory used by Jupyter Notebook is **/home/jovyan**.

The second volume type is **Custom (Advanced)**. This option allows you to define a custom volume configuration using a Kubernetes volume specification. Refer to the **K8s docs** link for information about supported volume types and configuration options.

<figure><img src="/files/tGSPHSoPv7gn2pSedcv2" alt=""><figcaption></figcaption></figure>

By default, the **Custom (Advanced)** type displays the following settings:

a. The volume type is set to **Custom (Advanced)**.

b. A YAML editor is provided to define the volume configuration.

c. The **Mount Path** specifies the location where the volume is mounted inside the container. By default, the path is **/home/jovyan**.

### Add Data Volume

The **Data Volumes** section is used to store and manage data persistently beyond the lifecycle of the notebook server, ensuring that the data remains available even if the server is stopped or deleted. In the **Data Volumes** section, there are two features available: **Add new volume** and **Attach existing volume**. You can add more than one data volume.

<figure><img src="/files/UzakehDR0Aq5ySqTD9sU" alt=""><figcaption></figcaption></figure>

The first feature is the **+ Add New Volume** button, which is used to create a new storage volume that can be mounted to a notebook or used by various components in a pipeline.

<figure><img src="/files/3Ug9KUF7zsCyzGblmCnk" alt=""><figcaption></figcaption></figure>

To view the details of the new data volume, click the expand icon next to the **Delete** icon. By default, the new data volume displays the following settings:

<figure><img src="/files/fGQtkAzAgsdcfrHaaLPe" alt=""><figcaption></figcaption></figure>

a. The volume type is set to **Empty volume**.

b. The default name for the new volume is **"-datavol-1"**. You can customize the name as needed.

c. The default size is **5 Gibibytes (GiB)**.

d. By default, the **Storage Class** uses **storage-nvme-c1**. If **Use Default Class** is not selected, several options are available, including **Empty Storage Class**, **storage-mgmt**, **storage-nlsas**, **storage-nvme-c2**, and other built-in classes.

e. There are three access modes available:

* **ReadWriteOnce (RWO)** provides exclusive read and write access to a single notebook server.
* **ReadOnlyMany (ROX)** provides read-only access for multiple notebook servers.
* **ReadWriteMany (RWX)** provides concurrent read and write access for multiple notebook servers.

f. The **Mount Path** is the location in the container where the volume is accessed. For Data Volumes, the default directory used by Jupyter Notebook is **/home/jovyan/-datavol-1**.

The second feature is the **+ Attach Existing Volume** button, which is used to attach an existing storage volume to a notebook or machine learning pipeline.

<figure><img src="/files/ironl00uc8jpL2jhKjhJ" alt=""><figcaption></figcaption></figure>

To view the details of the volume attachment, click the expand icon next to the **Delete** icon. By default, the volume attachment displays the following settings:

<figure><img src="/files/lBX8P2ZIZ7MAHev7ymfc" alt=""><figcaption></figcaption></figure>

a. The volume type is set to **Kubernetes volume**.

b. You can select **Readonly** to ensure that the attached volume is mounted in read-only mode, preventing data from being written to or modified.

c. The **Name** field is used to select an available workspace volume. To create a new volume, refer to the **Create Volumes** section in this guide.

d. The **Mount Path** is the location in the container where the volume is accessed. For Workspace Volumes, the default directory used by Jupyter Notebook is **/home/jovyan**.

### Choose GPU Type

To select the GPU type for the notebook server, click **Advanced Options**.

<figure><img src="/files/O9oAPSXz1GCgLD8pZqmA" alt=""><figcaption></figcaption></figure>

Select the GPU in the **Affinity Config** section. Currently, the following GPU options are available:

* NVIDIA HGX-H100 SXM 80GB
* NVIDIA HGX-H100 SXM 10GB (MIG)
* NVIDIA HGX-H100 SXM 40GB (MIG)
* NVIDIA HGX-H100 SXM 20GB (MIG)
* NVIDIA EGX-L40S 48GB

<figure><img src="/files/IyMK3nTjO6Et0wdTkCGf" alt=""><figcaption></figcaption></figure>

Click the **Launch** button to create a notebook.

<figure><img src="/files/Vuqawb9lm0IvPS9DpBCr" alt=""><figcaption></figcaption></figure>

## Open JupyterLab Notebook

After creating and running a notebook, click the **Connect** button to open it. JupyterLab opens automatically.

<figure><img src="/files/IMA4nOAXR1ehSdpeQfHb" alt=""><figcaption></figcaption></figure>

JupyterLab is the workspace used to create and run notebooks. It provides tools for managing files, editing code, and executing notebook cells through a web-based interface.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcVXreGc8i72Gaitk6zSOitx5jkw91aZBN-Qkn9s_08ts4xQ5lut63rfa8oELve5L-85ozlU-mrvIF__nqo3UU5KYpjmcJqYVC1rmmzzbXhEDzGRqyRR8qoZ8f-uAUbUNeKOjjRgmTcAAjblMijDJAyquk?key=_dSwSB0N680jj3O7sANgig" alt=""><figcaption></figcaption></figure>

## Stop JupyterLab Notebook

**Stop Notebook Server** is used to temporarily stop a running notebook server. It offers several benefits, including resource conservation, preserving the current state, and improved resource management.

<figure><img src="/files/RpejJyYtLvKXt1JQD9sn" alt=""><figcaption></figcaption></figure>

A confirmation dialog is displayed before the notebook server is stopped. Review the warning message, then click **Stop** to continue or **Cancel** to close the dialog and keep the notebook server running.

<figure><img src="/files/yOKDZtX84nGdhuhhMljg" alt=""><figcaption></figcaption></figure>

## Start JupyterLab Notebook

**Start Notebook Server** is used to start a stopped notebook server and restore access to the notebook environment. After the notebook server is running, you can connect to the notebook and continue your work.

<figure><img src="/files/QhbwAlbyO9UbkYTFwuXC" alt=""><figcaption></figcaption></figure>

A notification appears to indicate that the notebook server is starting. Once the startup process is complete, the notebook will be available for use.

<figure><img src="/files/Fyu2Ma6Y4jbQXYoKL6Ie" alt=""><figcaption></figcaption></figure>

## Delete Notebook

**Delete Notebook** is used to remove notebooks that are no longer needed. On the **Notebooks** page, locate the notebook you want to delete, then click the trash icon.

<figure><img src="/files/Jc9TIEI1wL0FWV4tnSGL" alt=""><figcaption></figcaption></figure>

Click the **Delete** button to continue the notebook deletion process.

<figure><img src="/files/IpJce9AVn5dgFPNMKtZC" alt=""><figcaption></figcaption></figure>
