- 文档首页
容器服务
容器服务 VKE
用户指南
存储
对象存储(TOS)
FSX 访问方式
通过 FSX 客户端使用 TOS 静态存储卷
FSX 访问方式
通过 FSX 客户端使用 TOS 静态存储卷
通过 FSX 客户端使用 TOS 静态存储卷
FSX 支持对接 TOS 文件系统,作为 TOS 高可用 POSIX 文件系统客户端。通过此客户端,可将 TOS 存储桶挂载到 Linux 系统,使得存储桶可以作为 Linux 系统的本地文件系统,实现数据的存储和管理。本文为您介绍如何通过 FSX 客户端使用 TOS 静态存储卷。
- 已创建 TOS 存储桶,详情请参见 创建存储桶。
- AK/SK 鉴权:已创建密钥所需的 AK/SK,用于挂载 TOS 存储,账号 AK/SK 获取方法参见:如何获取 API 访问密钥。若使用临时 Token 鉴权,需要自主实现刷新 Token 的逻辑。
- (可选)若使用 YAML 配置,请确保已经在本地环境中安装 kubectl 工具,连接至目标集群。详情请参见 连接集群。
- 有状态负载需要独占一个卷,暂不支持使用手动创建的存储卷声明。
- FSX 客户端当前仅支持 x86_64 的体系结构,暂不支持在 Windows 和 macOS 环境使用。详情请参见 运行环境。
- 暂不支持 Kubernetes v1.20 及以下版本的集群使用。
- 若使用 Kubernetes v1.26.x 版本集群,禁止使用名称中带符号.的 Secret 密钥,否则会导致 PV 创建失败。
- 在左侧导航栏中,选择 集群。单击目标集群名称,进入集群管理页面。
- 在集群管理页面左侧导航栏中,选择 存储管理 > 存储卷。
- 单击 创建存储卷,创建 FSX 访问类型的 TOS 存储卷。
-
- 单击目标集群名称,在集群管理页面选择 存储管理 > 存储卷声明。
- 在存储卷管理页面,单击 创建存储卷声明,配置 TOS 存储卷声明。
-
对象存储静态存储卷创建完成后,可通过添加卷的方式挂载到工作负载使用,包括:无状态负载、有状态负载、任务、定时任务、守护进程。
可通过创建工作负载或更新工作负载操作的容器配置步骤,为工作负载添加卷并挂载卷。详细操作参见:工作负载。
已经 连接集群 的情况下,可通过 kubectl 命令行使用 TOS 文件存储静态存储卷。 创建 TOS 策略的 Json 示例如下:
"tos:AbortMultipartUpload"
"trn:tos:::<TOS bucket name>",
"trn:tos:::<TOS bucket name>/*"
说明
当 csi-fsx 组件开启 IRSA 鉴权时,可跳过该配置步骤。
- 创建 Secret 的 Yaml 文件vke-tos-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 vke-tos-fsx-secret.yaml
- 创建 PV 的 Yaml 文件文件vke-tos-fsx-static-pv.yaml,示例代码如下:
name: vke-tos-fsx-static-pv
driver: fsx.csi.volcengine.com
server: tos-cn-shanghai.ivolces.com
secretName: tos-fsx-key
secretNamespace: default
volumeHandle: vke-tos-fsx-static-pv
persistentVolumeReclaimPolicy: Delete
- num_prefetch_threads=64
kubectl create -f vke-tos-fsx-static-pv.yaml
- 创建 PVC 的 Yaml 文件文件vke-tos-fsx-static-pvc.yaml,示例代码如下:
kind: PersistentVolumeClaim
name: vke-tos-fsx-static-pvc
volumeName: vke-tos-fsx-static-pv
kubectl create -f vke-tos-fsx-static-pvc.yaml
- 执行以下命令,查看 PVC 与 PV 的静态绑定结果。
- 预期输出结果如下,表示 PVC 与 PV 静态绑定成功。
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
vke-tos-fsx-static-pvc Bound vke-tos-fsx-static-pv 20Gi RWX 2m36s
- 创建 Deployment 的 Yaml 文件vke-tos-fsx-static-deployment.yaml,示例代码如下:
name: vke-static-tos-fsx-deploy
app: vke-static-tos-fsx-deploy
app: vke-static-tos-fsx-deploy
image: doc-cn-beijing.cr.volces.com/vke/nginx-demo:v1.0
claimName: vke-tos-fsx-static-pvc
kubectl create -f vke-tos-fsx-static-deployment.yaml
按照上文示例创建工作负载并挂载存储卷后,您可以通过以下方式验证对象存储的挂载、共享存储和持久化存储。
- 执行以下命令,查看存储卷是否正确挂载到 Pod 的指定路径。
kubectl exec vke-static-tos-fsx-deploy-5f55*** -- df | grep tmp
/dev/vdc 20466256 24 20449848 1% /tmp
- 查看 Pod 中的挂载路径,即查看存储卷中的数据。
kubectl exec vke-static-tos-fsx-deploy-5f55*** -- ls /tmp
kubectl exec vke-static-tos-fsx-deploy-5f55*** -- ls /tmp
- 预期返回如下,可以看到上传的文件,实现了数据卷的挂载和持久化存储。
最近更新时间:2026.07.03 16:33:59