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.
The image registry endpoint is bigdata-150.kr-central-2.kcr.dev/kc-kubeflow/(image-name)
.
For example, to pull the jupyter-scipy:v1.8.0.py38.1a
image, use bigdata-150.kr-central-2.kcr.dev/kc-kubeflow/jupyter-scipy:v1.8.0.py38.1a
.
Supported notebook images
- Kubeflow 1.8 version
- Kubeflow 1.6 version
Image | Python version | Platform | Framework (version) | GPU support | HDE support |
---|---|---|---|---|---|
kc-kubeflow/jupyter-scipy:v1.8.0.py38.1a | python 3.8.10 | JupyterLab | scipy(1.10.1) | X | X |
kc-kubeflow/jupyter-scipy:v1.8.0.py311.1a | python 3.11.9 | JupyterLab | scipy(1.11.3) | X | X |
kc-kubeflow/jupyter-pytorch-full:v1.8.0.py38.1a | python 3.8.10 | JupyterLab | pytorch(2.3.0) | X | X |
kc-kubeflow/jupyter-pytorch-full:v1.8.0.py311.1a | python 3.11.9 | JupyterLab | pytorch(2.3.0) | X | X |
kc-kubeflow/jupyter-pytorch-cuda-full:v1.8.0.py38.1a | python 3.8.10 | JupyterLab | pytorch(2.3.0) | O | X |
kc-kubeflow/jupyter-pytorch-cuda-full:v1.8.0.py311.1a | python 3.11.9 | JupyterLab | pytorch(2.3.0) | O | X |
kc-kubeflow/jupyter-tensorflow-full:v1.8.0.py38.1a | python 3.8.10 | JupyterLab | tensorflow(2.13.1) | X | X |
kc-kubeflow/jupyter-tensorflow-full:v1.8.0.py311.1a | python 3.11.9 | JupyterLab | tensorflow(2.15.1) | X | X |
kc-kubeflow/jupyter-tensorflow-cuda-full:v1.8.0.py38.1a | python 3.8.10 | JupyterLab | tensorflow(2.13.1) | O | X |
kc-kubeflow/jupyter-tensorflow-cuda-full:v1.8.0.py311.1a | python 3.11.9 | JupyterLab | tensorflow(2.15.1) | O | X |
kc-kubeflow/jupyter-pyspark-pytorch:v1.8.0.py38.1a | python 3.8.10 | JupyterLab | pytorch(2.3.0) | X | O |
kc-kubeflow/jupyter-pyspark-pytorch:v1.8.0.py311.1a | python 3.11.9 | JupyterLab | pytorch(2.3.0) | X | O |
kc-kubeflow/jupyter-pyspark-pytorch-cuda:v1.8.0.py38.1a | python 3.8.10 | JupyterLab | pytorch(2.3.0) | O | O |
kc-kubeflow/jupyter-pyspark-pytorch-cuda:v1.8.0.py311.1a | python 3.11.9 | JupyterLab | pytorch(2.3.0) | O | O |
kc-kubeflow/jupyter-pyspark-tensorflow:v1.8.0.py38.1a | python 3.8.10 | JupyterLab | tensorflow(2.13.1) | X | O |
kc-kubeflow/jupyter-pyspark-tensorflow:v1.8.0.py311.1a | python 3.11.9 | JupyterLab | tensorflow(2.15.1) | X | O |
kc-kubeflow/jupyter-pyspark-tensorflow-cuda:v1.8.0.py38.1a | python 3.8.10 | JupyterLab | tensorflow(2.13.1) | O | O |
kc-kubeflow/jupyter-pyspark-tensorflow-cuda:v1.8.0.py311.1a | python 3.11.9 | JupyterLab | tensorflow(2.15.1) | O | O |
kc-kubeflow/codeserver-python:v1.8.0.py38.1a | python 3.8.10 | CodeServer | X | X | |
kc-kubeflow/codeserver-python:v1.8.0.py311.1a | python 3.11.9 | CodeServer | X | X |
Image | Python version | Platform | Framework (version) | GPU support | HDE support |
---|---|---|---|---|---|
kc-kubeflow/jupyter-pytorch-cuda-full:v1.0.3.py36 | python 3.6.9 | JupyterLab | pytorch(1.8.1) | O | X |
kc-kubeflow/jupyter-pytorch-cuda-full:v1.0.3.py38 | python 3.8.10 | JupyterLab | pytorch(1.13.1) | O | X |
kc-kubeflow/jupyter-tensorflow-full:v1.0.3.py36 | python 3.6.9 | JupyterLab | tensorflow(2.5.2) | X | X |
kc-kubeflow/jupyter-tensorflow-full:v1.0.3.py38 | python 3.8.10 | JupyterLab | tensorflow(2.11.0) | X | X |
kc-kubeflow/jupyter-tensorflow-cuda-full:v1.0.3.py36 | python 3.6.9 | JupyterLab | tensorflow(2.5.2) | O | X |
kc-kubeflow/jupyter-tensorflow-cuda-full:v1.0.3.py38 | python 3.8.10 | JupyterLab | tensorflow(2.11.0) | O | X |
kc-kubeflow/jupyter-pyspark-pytorch:v1.0.3.py36 | python 3.6.9 | JupyterLab | pytorch(1.8.1) | X | O |
kc-kubeflow/jupyter-pyspark-pytorch:v1.0.3.py38 | python 3.8.10 | JupyterLab | pytorch(1.13.1) | X | O |
kc-kubeflow/jupyter-pyspark-pytorch-cuda:v1.0.3.py36 | python 3.6.9 | JupyterLab | pytorch(1.8.1) | O | O |
kc-kubeflow/jupyter-pyspark-pytorch-cuda:v1.0.3.py38 | python 3.8.10 | JupyterLab | pytorch(1.13.1) | O | O |
kc-kubeflow/jupyter-pyspark-tensorflow:v1.0.3.py36 | python 3.6.9 | JupyterLab | tensorflow(2.5.2) | X | O |
kc-kubeflow/jupyter-pyspark-tensorflow:v1.0.3.py38 | python 3.8.10 | JupyterLab | tensorflow(2.11.0) | X | O |
kc-kubeflow/jupyter-pyspark-tensorflow-cuda:v1.0.3.py36 | python 3.6.9 | JupyterLab | tensorflow(2.5.2) | O | X |
kc-kubeflow/jupyter-pyspark-tensorflow-cuda:v1.0.3.py38 | python 3.8.10 | JupyterLab | tensorflow(2.11.0) | O | X |
kc-kubeflow/codeserver-python:v1.0.3.py36 | python 3.6.9 | CodeServer | pytorch(1.9.1) | O | O |
kc-kubeflow/codeserver-python:v1.0.3.py38 | python 3.8.10 | CodeServer | pytorch(2.0.1) | O | O |
Create notebook instance
To build a computing environment for running machine learning code and processing data, create a notebook instance with your desired specifications.
-
Access the Kubeflow dashboard.
- For detailed instructions, refer to the Access Kubeflow dashboard guide.
-
Click the Notebooks tab on the left panel.
-
Click the [New Notebook] button at the top right.
Accessing the Notebooks tab in Kubeflow dashboard -
On the New Notebook screen, fill in the required information and click the [LAUNCH] button to create the notebook instance.
- If you want to create a notebook using a specific image, refer to the guide below.
Item Field Description Name Name Identifier used in the Kubeflow dashboard Platform type Web development platform type
Options: JupyterLab, VisualStudio Code, RStudio
*VisualStudio Code and RStudio may not work properly without a connected domain.Custom notebook Image Select a supported KakaoCloud Kubeflow notebook image Custom image Enter a custom image by checking the box
- Example: bigdata-150.kr-central-2.kcr.dev/kc-kubeflow/jupyter-pytorch-full:v1.0.1.py38Image pull policy Set the policy for pulling the image when starting the notebook CPU / RAM Minimum CPU Minimum CPU to allocate to the instance
- Labeled as Requested CPUs in version 1.6Minimum memory Gi Minimum memory to allocate
- Labeled as Requested memory in Gi in version 1.6Maximum CPU Maximum CPU to allocate
- Labeled as CPU limit in version 1.6Maximum memory Gi Maximum memory to allocate
- Labeled as Memory limit in Gi in version 1.6GPUs Number of GPUs Number of GPU resources to use GPU vendor Available GPU instance types Workspace volume Volume to mount to the notebook’s home directory
- Can create new or use an existing volumeData volume Additional volumes to mount
- Define mount paths and choose/create volumesConfigurations Register PodDefault resources in the current namespace Affinity / Tolerations Affinity config Specify the node on which to run the notebook Tolerations group Set tolerations
- Toleration list is defined in the ConfigMap within KEMiscellaneous settings Enable shared memory Enable shared memory support (e.g., for Torch)
- Mounts emptyDir to/dev/shm
Notebook instances will not be created if Minimum CPU or Memory Gi exceeds the available resources of the selected node pool in Affinity Config.
Create CPU-based notebook
To create a notebook using a CPU-based image:
-
Access the Kubeflow dashboard and click the Notebooks tab, then click the [New Notebook] button.
-
On the New Notebook screen, enter the required info and click [LAUNCH].
Item Field Description Name Name Identifier used in the Kubeflow dashboard Platform type JupyterLab, VisualStudio Code, or RStudio Custom notebook Image Select an image matching the Kubeflow version Custom image Enter custom image if needed Image pull policy Set image pull policy CPU / RAM Minimum CPU 2 Minimum memory Gi 8 Maximum CPU - Maximum memory Gi - GPUs Number of GPUs None GPU vendor - Workspace volume Mount volume to home directory Data volume Register and configure additional mount volumes Configurations Register PodDefault resource Affinity / Tolerations Affinity config Select CPU-type node Tolerations group None Miscellaneous settings Enable shared memory Mount emptyDir to /dev/shm
Create GPU-based notebook
To create a notebook using a GPU-based image:
-
Access the Kubeflow dashboard and click the Notebooks tab, then click the [New Notebook] button.
-
On the New Notebook screen, enter the required info and click [LAUNCH].
Item Field Description Name Name Identifier used in the Kubeflow dashboard Platform type JupyterLab, VisualStudio Code, or RStudio Custom notebook Image Select an image matching the Kubeflow version Custom image Enter custom image if needed Image pull policy Set image pull policy CPU / RAM Minimum CPU 2 Minimum memory Gi 8 Maximum CPU - Maximum memory Gi - GPUs Number of GPUs 1 GPU vendor NVIDIA MIG - 1g.10gb Workspace volume Mount volume to home directory Data volume Register and configure additional mount volumes Configurations Register PodDefault resource Affinity / Tolerations Affinity config Select GPU-type node Tolerations group None Miscellaneous settings Enable shared memory Mount emptyDir to /dev/shm
Access notebook instance
-
Access the Kubeflow dashboard.
- For details, see Access Kubeflow dashboard
-
Click the Notebooks tab.
-
In the Notebooks list, click [CONNECT] next to the desired instance.
Connect to notebook -
A new tab opens with the Jupyter Notebook interface.
- You can write code and run ML models there.
Jupyter Notebook interface
Stop notebook instance
Notebook instances can be stopped to save resources, improve security, reduce cost, and manage environments.
-
Access the Kubeflow dashboard.
- For details, see Access Kubeflow dashboard
-
Click the Notebooks tab.
Stop notebook -
Click the ◼ (Stop) button for the notebook.
- In the confirmation modal, click [STOP].
Stop notebook confirmation -
Check that the status of the notebook shows as stopped.
Notebook stopped
Delete notebook instance
Notebook instances are deleted to reclaim resources, improve security, reduce cost, and maintain clean environments.
-
Access the Kubeflow dashboard.
- For details, see Access Kubeflow dashboard
-
Click the Notebooks tab.
Delete notebook -
Click the trash icon for the notebook you want to delete.
- In the popup, click [DELETE].
Delete notebook confirmation -
Verify that the notebook is no longer listed.
Notebook deleted
- Deleted notebook instance names cannot be reused.
- If reuse is needed, delete the
{notebook-name}_volume
PVC in the KakaoCloud Kubernetes Engine cluster before recreating.
- For detailed documentation, refer to the Kubeflow > Notebook official documentation.
- For more usage examples, visit the Machine Learning & AI tutorial category.