- 文档首页
容器服务
容器服务 VKE
用户指南
存储
本地存储卷
使用独占盘类型的本地存储动态存储卷
使用独占盘类型的本地存储动态存储卷
容器服务支持通过 CSI 使用本地存储,本文为您介绍如何使用独占盘类型的本地存储动态存储卷。
说明
【邀测·申请试用】本地存储相关的 csi-local 组件 和 存储感知调度 功能目前均处于邀测阶段,如需使用,请提交申请。 使用限制
- 需使用极速型 SSD 数据盘挂载到容器、镜像存储目录 /var/lib/containerd 和 /var/lib/kubelet。避免使用本地盘挂载到容器、镜像存储目录,否则,将不适用本地存储使用场景。
- 本场景依赖 3 个组件的安装和卸载存在顺序要求,请严格遵循下文介绍的顺序进行安装或卸载,否则将影响正常调度功能。
- 本地存储并非高可用存储卷,只适用于一些临时数据的保存及应用自带高可用的场景。
- 已经创建 Kubernetes 版本符合要求的容器集群,详情请参见 创建集群。
操作步骤
步骤一:安装和配置依赖组件
使用本地存储需要依赖如下组件,请参考以下顺序依次安装和配置。
警告
- csi-local 组件依赖 snapshot-controller 组件,安装 csi-local 组件前确认 snapshot-controller 组件已安装。
- csi-local 组件必须与 scheduler-plugin 组件中的存储感知调度功能结合使用,开启存储感知调度功能前,请确保 snapshot-controller 和 csi-local 组件均已安装,否则会影响正常调度。
- 如需卸载 csi-local 组件,请关闭 scheduler-plugin 组件中的存储感知调度功能后再执行卸载操作,否则会影响正常调度。
- 在左侧导航栏中选择 集群,单击需要配置的目标集群。
- 选择 存储 页签,将鼠标移动到 snapshot-controller 和 csi-local 组件卡片上,单击 部署,依次安装组件。
-
- 选择 调度 页签,将鼠标移动到 scheduler-plugin 组件卡片上,单击 配置,并在配置弹窗中勾选 存储感知调度 配置项的 本地存储。
-
步骤二:配置本地盘类型的节点池
配置本地盘类型的节点池,本场景涉及的关键配置说明如下,其他配置项按需配置即可。详情请参见 创建节点池、创建托管节点池。 - 配置计算规格。选择支持本地盘的 ECS 实例类型。详情请参见 本地盘。
- 配置容器、镜像存储目录。使用极速型 SSD 数据盘挂载到容器、镜像存储目录 /var/lib/containerd 和 /var/lib/kubelet。
警告
请勿使用本地盘挂载到容器、镜像存储目录,否则,将不适用本地存储使用场景。
- 单击 添加数据盘,使用本地盘配置其他数据盘。本地数据盘支持 SSD 和 HDD 类型,不同 ECS 类型支持的数据盘类型不同,可根据实际需求选择。
-
- 自定义节点标签,用于初始化本地盘时筛选节点,例如csi-local: "i4ag"。
-
- 配置部署执行脚本,在节点中安装 lvm2,安装命令为apt-get install -y lvm2。
-
步骤三:初始化本地盘
csi-local 组件安装成功后,将自动创建本地存储相关 CRD,包括:
- NodeLocalStorageInitConfig:用于初始化每个节点的 NodeLocalStorage 资源。csi-local 组件在创建 NodeLocalStorage 资源时,如果存在 NodeLocalStorageInitConfig。则会将 NodeLocalStorageInitConfig 中的配置填充到新创建 NodeLocalStorage 资源的 Spec 中。
- NodeLocalStorage:用于上报每个节点的存储设备信息,您可根据需要编辑 NodeLocalStorage 资源的 Spec 字段。
本场景以 ecs.i4ag.12xlarge 机型为例,已经挂载 EBS 云盘到 /dev/vdc,并已经为该机型节点打上标签 csi-local: "i4ag"。
- 在左侧导航栏中选择 工作负载 > 对象浏览器,单击 使用 Yaml 创建 ,配置 CR 初始化本地盘。
- 等待 1 分钟左右,执行以下命令,查看对应节点的 NodeLocalStorage 配置。在本例中192.168.2.6为节点的 IP 地址。
- 预期结果如下,能够查询到独占盘信息,表示初始化成功。
步骤四:使用本地存储动态存储卷
目前支持动态制备方式使用本地存储,系统已经预置存储类,根据实际需求选用即可。
本场景以创建有状态负载为例,介绍如何使用独占盘类型的本地存储动态存储卷。
- 创建 StatefulSet 的 YAML 文件。示例文件statefulset-demo.yaml代码如下:
删除 Pod 触发 Pod 重建后,可执行exec命令进入新建 Pod,查看旧 Pod 中的数据是否依然存在。
删除 StatefulSet 并删除 PVC 时,独占盘 vdc 将被回收并格式化,文件系统将被擦除。
最近更新时间:2026.02.03 17:09:47