Skip to main content

Use notebooks

Supported notebook images

Notebook instances in KakaoCloud Kubeflow provide a web-based machine learning development environment.
These notebook instances run based on Docker images, and the following images are currently supported in KakaoCloud Kubeflow.

info

The image registry endpoint is mlops.kr-central-2.kcr.dev/kc-kubeflow-registry/(image-name).
For example, to pull the jupyter-scipy:v1.8.0.py38.1a image, use:
mlops.kr-central-2.kcr.dev/kc-kubeflow-registry/jupyter-scipy:v1.8.0.py38.1a.

Supported notebook images

ImagePython VersionPlatformFramework (Version)GPU SupportHDE Support
kc-kubeflow-registry/jupyter-scipy:v1.10.0.py310.1apython 3.10.16JupyterLabscipy(1.15.1)XX
kc-kubeflow-registry/jupyter-scipy:v1.10.0.py311.1apython 3.11.9JupyterLabscipy(1.15.1)XX
kc-kubeflow-registry/jupyter-pytorch-full:v1.10.0.py310.1apython 3.10.16JupyterLabpytorch(2.5.1)XX
kc-kubeflow-registry/jupyter-pytorch-full:v1.10.0.py311.1apython 3.11.9JupyterLabpytorch(2.5.1)XX
kc-kubeflow-registry/jupyter-pytorch-cuda-full:v1.10.0.py310.1apython 3.10.16JupyterLabpytorch(2.5.1)OX
kc-kubeflow-registry/jupyter-pytorch-cuda-full:v1.10.0.py311.1apython 3.11.9JupyterLabpytorch(2.5.1)OX
kc-kubeflow-registry/jupyter-tensorflow-full:v1.10.0.py310.1apython 3.10.16JupyterLabtensorflow(2.17.1)XX
kc-kubeflow-registry/jupyter-tensorflow-full:v1.10.0.py311.1apython 3.11.9JupyterLabtensorflow(2.17.1)XX
kc-kubeflow-registry/jupyter-tensorflow-cuda-full:v1.10.0.py310.1apython 3.10.16JupyterLabtensorflow(2.17.1)OX
kc-kubeflow-registry/jupyter-tensorflow-cuda-full:v1.10.0.py311.1apython 3.11.9JupyterLabtensorflow(2.17.1)OX
kc-kubeflow-registry/jupyter-pyspark-pytorch:v1.10.0.py310.1apython 3.10.16JupyterLabpytorch(2.5.1)XO
kc-kubeflow-registry/jupyter-pyspark-pytorch:v1.10.0.py311.1apython 3.11.9JupyterLabpytorch(2.5.1)XO
kc-kubeflow-registry/jupyter-pyspark-pytorch-cuda:v1.10.0.py310.1apython 3.10.16JupyterLabpytorch(2.5.1)OO
kc-kubeflow-registry/jupyter-pyspark-pytorch-cuda:v1.10.0.py311.1apython 3.11.9JupyterLabpytorch(2.5.1)OO
kc-kubeflow-registry/jupyter-pyspark-tensorflow:v1.10.0.py310.1apython 3.10.16JupyterLabtensorflow(2.17.1)XO
kc-kubeflow-registry/jupyter-pyspark-tensorflow:v1.10.0.py311.1apython 3.11.9JupyterLabtensorflow(2.17.1)XO
kc-kubeflow-registry/jupyter-pyspark-tensorflow-cuda:v1.10.0.py310.1apython 3.10.16JupyterLabtensorflow(2.17.1)OO
kc-kubeflow-registry/jupyter-pyspark-tensorflow-cuda:v1.10.0.py311.1apython 3.11.9JupyterLabtensorflow(2.17.1)OO
kc-kubeflow-registry/jupyter-llm-dev-kit:v1.10.0.py310.1apython 3.10.16JupyterLabpytorch(2.5.1)OO
kc-kubeflow-registry/codeserver-python:v1.10.0.py310.1apython 3.10.16CodeServerXX
kc-kubeflow-registry/codeserver-python:v1.10.0.py311.1apython 3.11.9CodeServerXX
kc-kubeflow-registry/rstudio-tidyverse:v1.10.0.kbm.1aRStudioXX

Create notebook instance

Create a notebook instance with desired specifications to build a computing environment for running machine learning code and processing data.

  1. Access the Kubeflow dashboard.

  2. Select the Notebooks tab on the left.

  3. Click the [New notebook] button at the top right.

  4. On the New notebook screen, enter the required information and click [Launch] to create the notebook instance.

    • To create a notebook based on a specific image, refer to the guide below.
    ItemCategoryDescription
    NameNameUsed to identify the notebook instance in the Kubeflow dashboard
    Platform typeWeb development platform for the notebook instance
    Types: JupyterLab, VisualStudio Code, RStudio
    VisualStudio Code and RStudio may not function correctly if the domain is not connected to Kubeflow
    Custom notebookImageSpecify a KakaoCloud-supported Kubeflow notebook image
    Custom imageWhen checked, allows input of custom image
    - Example: bigdata-150.kr-central-2.kcr.dev/kc-kubeflow/jupyter-pytorch-full:v1.0.1.py38
    Image pull policyPolicy for pulling image when the notebook instance starts
    CPU / RAMMinimum CPUMinimum CPU allocated to the notebook instance
    - Displayed as "Requested CPUs" in version 1.6
    Minimum memory GiMinimum memory allocated to the notebook instance
    - Displayed as "Requested memory in Gi" in version 1.6
    Maximum CPUMaximum CPU allocated to the notebook instance
    - Displayed as "CPU limit" in version 1.6
    Maximum memory GiMaximum memory allocated to the notebook instance
    - Displayed as "Memory limit in Gi" in version 1.6
    GPUsNumber of GPUsNumber of GPU resources used in the notebook instance
    GPU vendorAvailable GPU instance types
    Workspace volumeVolume mounted to the notebook instance's Home directory
    - Can create a new volume or use an existing one
    Data volumeRegister additional volumes to be mounted to the notebook instance
    - Can create a new volume or use an existing one, and specify the mount path
    ConfigurationsRegister PodDefault resources already defined in the current namespace
    Affinity / TolerationsAffinity configSpecify the node where the notebook instance will run
    Tolerations groupSpecify tolerations to apply to the notebook instance
    - Available tolerations are defined in the ConfigMap inside the Kubeflow-installed KE cluster
    Miscellaneous settingsEnable shared memoryEnable workaround for shared memory required by frameworks like Torch
    - Mounts an empty directory volume to /dev/shm
caution

Notebook instance will not be created if Minimum CPU or Memory Gi exceeds the capacity of the node pool selected in Affinity config.

Create CPU-based notebook

Follow the steps below to create a notebook instance based on a CPU image:

  1. Access the Kubeflow dashboard, click the Notebooks tab, and then click [New notebook].

  2. On the New notebook screen, enter the required information and click [Launch] to create the notebook instance.

    ItemCategoryDescription
    NameNameUsed to identify the notebook instance in the Kubeflow dashboard
    Platform typeWeb development platform for the notebook instance
    Types: JupyterLab, VisualStudio Code, RStudio
    Custom notebookImageSelect an image that matches the Kubeflow version
    Custom imageWhen checked, allows input of custom image
    Example: bigdata-150.kr-central-2.kcr.dev/kc-kubeflow/jupyter-pytorch-full:v1.0.1.py38
    Image pull policyPolicy for pulling image when the notebook instance starts
    CPU / RAMMinimum CPU2
    - Minimum CPU allocated to the notebook instance
    Minimum memory Gi8
    - Minimum memory allocated to the notebook instance
    Maximum CPUMaximum CPU allocated to the notebook instance
    Maximum memory GiMaximum memory allocated to the notebook instance
    GPUsNumber of GPUsNone
    - No GPU resource used
    GPU vendorAvailable GPU instance types
    Workspace volumeVolume mounted to the notebook instance's Home directory
    - Can create a new volume or use an existing one
    Data volumeRegister additional volumes to be mounted to the notebook instance
    - Can create a new volume or use an existing one, and specify the mount path
    ConfigurationsRegister PodDefault resources already defined in the current namespace
    Affinity / TolerationsAffinity configSelect a node created as a CPU instance type
    - Specify the node where the notebook instance will run
    Tolerations groupNone
    - Allow specific node taints
    Miscellaneous settingsEnable shared memoryEnable workaround for shared memory required by frameworks like Torch
    - Mounts an empty directory volume to /dev/shm

Create GPU-based notebook

Follow the steps below to create a notebook instance based on a GPU image:

  1. Access the Kubeflow dashboard, click the Notebooks tab, and then click [New notebook].

  2. On the New notebook screen, enter the required information and click [Launch] to create the notebook instance.

    ItemCategoryDescription
    NameNameUsed to identify the notebook instance in the Kubeflow dashboard
    Platform typeWeb development platform for the notebook instance
    Types: JupyterLab, VisualStudio Code, RStudio
    Custom notebookImageSelect an image that matches the Kubeflow version
    Custom imageWhen checked, allows input of custom image
    Example: bigdata-150.kr-central-2.kcr.dev/kc-kubeflow/jupyter-pytorch-full:v1.0.1.py38
    Image pull policyPolicy for pulling image when the notebook instance starts
    CPU / RAMMinimum CPU2
    - Minimum CPU allocated to the notebook instance
    Minimum memory Gi8
    - Minimum memory allocated to the notebook instance
    Maximum CPUMaximum CPU allocated to the notebook instance
    Maximum memory GiMaximum CPU allocated to the notebook instance
    GPUsNumber of GPUs1
    - Number of GPU resources used
    GPU vendorNVIDIA MIG - 1g.10gb
    - Available GPU instance types
    Workspace volumeVolume mounted to the notebook instance's Home directory
    - Can create a new volume or use an existing one
    Data volumeRegister additional volumes to be mounted to the notebook instance
    - Can create a new volume or use an existing one, and specify the mount path
    ConfigurationsRegister PodDefault resources already defined in the current namespace
    Affinity / TolerationsAffinity configSelect a node created as a GPU instance type
    - Specify the node where the notebook instance will run
    Tolerations groupNone
    - Allow specific node taints
    Miscellaneous settingsEnable shared memoryEnable workaround for shared memory required by frameworks like Torch
    - Mounts an empty directory volume to /dev/shm

Access notebook instance

  1. Access the Kubeflow dashboard.

  2. Select the Notebooks tab on the left.

  3. In the list of created notebooks, click [Connect] for the desired notebook.

  4. After clicking [Connect], a new tab will open showing the Jupyter Notebook interface for the selected notebook instance.

    • You can write code or run machine learning models in the opened notebook.

    Jupyter Notebook interface
    Jupyter Notebook interface

Stop notebook instance

Notebook instances are typically stopped to save resources, enhance security, reduce costs, or manage the environment. Leaving a notebook instance running may prevent other tasks from accessing resources and lead to increased costs or security risks.

  1. Access the Kubeflow dashboard.

  2. Select the Notebooks tab on the left.

  3. In the list of notebooks, click the ◼ (stop) button for the notebook you wish to stop.

    • When the stop confirmation modal appears, click [Stop].

    Notebook stop confirmation
    Notebook stop confirmation

  4. In the list of notebooks, verify that the status of the stopped notebook is correctly reflected.

    Notebook stop verification
    Notebook stop verification

Delete notebook instance

Notebook instances are typically deleted to reclaim resources, enhance security, reduce costs, or manage the environment. Once deleted, the resources associated with the notebook can be reallocated to other tasks.

  1. Access the Kubeflow dashboard.

  2. Select the Notebooks tab on the left.

  3. In the list of notebooks, click the delete (trash bin) icon for the notebook you wish to delete.

    • When the delete confirmation popup appears, click [Delete].

    Notebook delete confirmation
    Notebook delete confirmation

  4. Confirm that the notebook is no longer listed in the notebook list.

    Notebook delete verification
    Notebook delete verification

caution
  • Deleted notebook instance names cannot be reused.
  • If you need to reuse a name, delete the {notebook-name}_volume PVC from the Kubernetes cluster in the KakaoCloud Kubernetes Engine service before creating it again.
info