目录
在 KubeSphere CubeStudio 中为 Jupyter Notebook 配置 PVC 的完整方法
4. 创建 Jupyter Notebook 并绑定 PVC
在 KubeSphere CubeStudio 中为 Jupyter Notebook 配置 PVC 的完整方法
——以本地存储类 local 为例
在使用 KubeSphere 的 CubeStudio 开发环境时,为 Jupyter Notebook 持久化存储配置 PVC(PersistentVolumeClaim)是一个常见需求。本文将介绍如何基于 KubeSphere 的本地存储类 local
,为 Notebook 分配并挂载专属的持久卷。
前提条件
-
KubeSphere 已部署,并启用 CubeStudio
-
集群节点具备本地磁盘路径(如
/data1/openebs/local
) -
已配置
openebs.io/local
存储插件
1. 创建并配置本地存储类
首先,定义一个名为 local
的 StorageClass,并指定磁盘挂载路径。示例如下:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local
annotations:
cas.openebs.io/config: |
- name: StorageType
value: "hostpath"
- name: BasePath
value: "/data1/openebs/local"
openebs.io/cas-type: local
storageclass.beta.kubernetes.io/is-default-class: 'true'
storageclass.kubesphere.io/supported-access-modes: '["ReadWriteOnce"]'
provisioner: openebs.io/local
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
重点:
BasePath
指定为宿主机的本地目录 /data1/openebs/local
,该目录需要提前创建,并保证节点具有写权限。
2. 通过 KubeSphere 创建 PVC
在 KubeSphere 界面或通过 YAML 创建一个 PVC,例如命名为 train
:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: train
namespace: jupyter
annotations:
kubesphere.io/alias-name: train
kubesphere.io/creator: admin
kubesphere.io/description: 训练用空间
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Ti
storageClassName: local
volumeMode: Filesystem
创建完成后,PVC 会自动绑定到一个 PV,并且卷名如 pvc-cf6b18e3-b116-47a0-8ebe-880836469dac
,对应的实际目录会在 /data1/openebs/local
下生成。
3. 在 CubeStudio 项目中挂载 PVC
进入 KubeSphere 控制台:
项目空间 -> 项目 -> 选择目标项目 -> 编辑。
在“存储”部分,添加挂载:
-
PVC:选择
train
-
挂载路径:
/mnt/
保存配置。
4. 创建 Jupyter Notebook 并绑定 PVC
前往:
在线开发 -> 代码开发 -> Notebook -> 创建 Notebook。
在创建页面:
-
选择刚才配置过 PVC 的项目
-
配置 Notebook 运行环境(如 Python 版本)
-
确保存储挂载路径
/mnt/
已显示
完成后创建,Notebook 将自动挂载 PVC。
5. 在宿主机访问数据目录
如需在宿主机上直接管理或上传代码,可进入 PVC 对应的物理目录:
cd /data1/openebs/local/pvc-cf6b18e3-b116-47a0-8ebe-880836469dac/admin
示例:通过 git
下载代码
git clone https://your.repo.url/project.git
这样,Notebook 中的 /mnt/
路径下会同步显示 project
文件夹。
总结
以上流程完成了:
-
创建本地存储类,指定数据盘目录
-
创建 PVC 并绑定到 Jupyter 项目
-
在 CubeStudio 中配置挂载
-
Notebook 自动挂载 PVC,实现数据持久化
-
宿主机直接管理代码,提高开发效率
该方案特别适用于 GPU 训练、数据科学及 AI 模型开发场景,既满足数据隔离,又方便数据迁移和备份。
如果需要,我可以顺带帮你绘制一个 CubeStudio-PVC-Jupyter 的结构示意图,要继续吗?