- 文档首页
容器服务
容器服务 VKE
用户指南
存储
数据管理中心(DMC)
通过 FSX 客户端使用 DMC 静态存储卷
数据管理中心(DMC)
通过 FSX 客户端使用 DMC 静态存储卷
通过 FSX 客户端使用 DMC 静态存储卷
数据管理中心(Data Management Center,简称为 DMC) 是火山引擎提供的实现统一存储管理、数据编排、数据流动的管理类存储产品,可封装多种存储产品并提供统一接入点,便于用户统一管理。本文介绍如何在容器服务集群中,使用 FSX 客户端配置并挂载 DMC 静态卷。
- 已创建密钥所需的 AK/SK,用于挂载 DMC 数据集存储,账号 AK/SK 获取方法参见:如何获取 API 访问密钥。若使用临时 Token 鉴权,需要自主实现刷新 Token 的逻辑。
注意
DMC 单个数据集下的所有后端存储卷,均会使用相同的 AK/SK 进行鉴权,暂不支持使用不同的 AK/SK 进行鉴权。
- (可选)若使用 YAML 配置,请确保已经在本地环境中安装 kubectl 工具,连接至目标集群。详情请参见 连接集群。
- 若 Pod 挂载 DMC 存储卷时,与其他类型的存储卷并发生冲突,则系统将优先保障 DMC 存储卷挂载,导致其他卷挂载失败。
- 暂不支持统一接入点的在线更新,若接入点 ID 发生变更,建议重新创建 PV。
- 在左侧导航栏中,选择 数据集管理,单击 创建数据集。创建 DMC 数据集,并绑定目标数据源。本文以 DMC 同时挂载 EFS 存储卷和 TOS 存储卷为例。更多配置详情,请参见 创建数据集。
-
- 在左侧导航栏中,选择 统一接入点,单击 新建,创建接入点。更多配置详情,请参见 接入点管理。
-
- 配置完成后,可以在统一接入点详情页面中,获取接入点 ID 并查看挂载存储卷详情。
-
- 创建 Secret 的 YAML 文件fsx-secret.yaml,示例代码如下:
ExpiredTime: ${Temporary Token expiration time}
SessionToken: ${Temporary Token content}
说明
您可以使用echo -n "${ak}" | base64命令对 AK、SK 等进行 Base64 编码,请将${ak}替换为您自己的实际值。例如当${ak}取值为demo时,编码命令为echo -n "demo" | base64,编码后的值为ZGVtbw==。
kubectl create -f fsx-secret.yaml
- 在左侧导航栏中,选择 集群。单击目标集群名称,进入集群管理页面。
- 在集群管理页面左侧导航栏中,选择 存储管理 > 存储卷。
- 单击 创建存储卷,创建 FSX 访问类型的 DMC 存储卷。
-
- 创建 PV 的 YAML 文件pv-dmc-demo.yaml,示例代码如下:
driver: fsx.csi.volcengine.com
oneAccessPointId: "dmc-oap-42cca***"
oneAccessPointVersion: "v1"
enableMultiMount: "true"
secretNamespace: "default"
volumeHandle: pv-dmc-demo
persistentVolumeReclaimPolicy: Delete
kubectl create -f pv-dmc-demo.yaml
- 单击目标集群名称,在集群管理页面选择 存储管理 > 存储卷声明。
- 在存储卷管理页面,单击 创建存储卷声明,配置存储卷声明。
-
- 创建 PVC 的 YAML 文件pvc-dmc-demo.yaml,示例代码如下:
kind: PersistentVolumeClaim
volumeName: pv-dmc-demo
kubectl create -f pvc-dmc-demo.yaml
- 执行以下命令,查看 PVC 与 PV 的静态绑定结果。
- 预期输出结果如下,表示 PVC 与 PV 静态绑定成功。
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pv-dmc-demo Bound pv-dmc-demo 100Gi RWX 2m36s
DMC 静态存储卷创建完成后,可通过添加卷的方式挂载到工作负载使用,包括:无状态负载、有状态负载、任务、定时任务、守护进程。
可通过创建工作负载或更新工作负载操作的容器配置步骤,为工作负载添加卷并挂载卷。详细操作参见 工作负载。 注意
由于数据源路径已经在配置 DMC 数据集时绑定,因此在工作负载中挂载 DMC 时,请勿配置subPath配置项。
- 创建 Deployment 的 YAML 文件fsx-deployment.yaml,示例代码如下:
image: doc-cn-beijing.cr.volces.com/vke/nginx-demo:v1.0
claimName: pvc-dmc-demo
kubectl create -f fsx-deployment.yaml
按照上文示例创建工作负载并挂载存储卷后,您可以通过以下方式验证 DMC 存储的挂载、共享存储和持久化存储。
- 执行以下命令,查看存储卷是否正确挂载到 Pod 的指定路径。
kubectl exec fsx-demo-5f55*** -- df | grep tmp
- 预期返回结果如下,本文中以 DMC 同时挂载 EFS 存储卷和 TOS 存储卷为例,因此可以看到不同的存储卷对应 Pod 中的不同路径。
BFB6F***:ap-df8***.cnbja5ef***.3pspvso***.cn-beijing.efs.ivolces.com:/ 10995116277760 0 10995116277760 0% /tmp/efs
BFC74***:doc-tos-demo:/ 9007199254740992 0 9007199254740992 0% /tmp/tos
- 执行以下命令,查看 Pod 存储卷中的数据,本文以查看 TOS 存储卷为例。
kubectl exec fsx-demo-5f55*** -- ls /tmp/tos
kubectl exec fsx-demo-5f55*** -- touch /tmp/tos/test
kubectl delete pod fsx-demo-5f55***
kubectl exec fsx-demo-7678*** -- ls /tmp/tos
- 预期返回如下,可以看到存储卷中写入的文件依然存在,未随着 Pod 的删除而被删除,实现了数据的持久化存储。
最近更新时间:2026.07.03 17:17:24