操作场景
腾讯云容器服务支持通过创建 PV/PVC,并在创建工作负载添加数据卷时使用已有 PVC,实现通过 PV 和 PVC 管理文件系统。
注意
准备工作
安装文件存储扩展组件
说明
若您的集群已安装 CFS-CSI 的扩展组件,则请跳过此步骤。
1. 登录 容器服务控制台。
2. 单击左侧导航栏中的集群,进入集群管理页面。
3. 选择需新建组件的集群 ID,进入集群详情页面。
4. 在“集群详情页”,选择组件管理 > 新建,进入新建组件页面。
5. 在“新建组件”页面,勾选CFS(腾讯云文件存储)并单击完成即可。
通过控制台创建 StorageClass
创建文件存储
1. 登录 文件存储控制台,进入“文件系统”页面。
2. 单击新建。
3. 在选择文件系统类型中,选择存储类型。提供标准存储和性能存储两种类型,不同可用区支持类型有一定差异,详情请参见 可用地域。
4. 在详细设置中,参考以下信息填写:


名称:自定义,本文以
cfs-test
为例。地域:选择所需要创建文件系统的地域,需确保与集群在同一地域。
可用区:选择所需要创建文件系统的可用区。
文件服务协议:选择文件系统的协议类型,NFS或CIFS/SMB。
NFS 协议:更适合于 Linux/Unix 客户端。
CIFS/SMB 协议:更适合于 Windows 客户端。
数据源:支持使用快照创建文件系统。
选择网络:需确保与使用该文件系统的集群处于同一私有网络下。
权限组:每个文件系统必须绑定一个权限组,权限组规定了一组可来访白名单及读、写操作权限。
标签:
若已拥有标签,可在此处为新建文件系统添加。
若未拥有标签,则可前往 标签控制台 创建所需要的标签,再为文件系统绑定标签。或可在文件系统创建完成后,再为文件系统添加标签。
5. 单击立即购买,等待创建成功即可。
获取文件系统子目录
1. 在“文件系统”页面,单击需获取子目标路径的文件系统 ID,进入该文件系统详情页。
2. 选择挂载点信息页签,从 “Linux 下挂载” 获取该文件系统子目录路径 
/subfolder
。如下图所示:

localfolder
:指用户本地自己创建的目录。subfolder
:指用户在文件存储的文件系统里创建的子目录,则该文件系统子目录路径即为 /subfolder
。获取文件系统 fsid
说明
为了获取更好的稳定性,在使用 NFSV3 协议挂载时,需要指定待挂载文件系统对应的 FSID。
1. 在 文件系统控制台,单击需获取 FSID 的文件系统 ID,进入该文件系统详情页。
2. 选择挂载点信息页签,从 “Linux 下挂载” 获取该文件系统的 FSID。如下图所示, 
a43qadkl
为该文件系统的 FSID。

操作步骤
静态创建 PV
说明
静态创建 PV 适用于已有存量的文件存储,并在集群内使用的场景。
1. 登录容器服务控制台,选择左侧导航栏中的 集群。
2. 在“集群管理”页面,选择需创建 PV 的集群 ID,进入待创建 PV 的集群管理页面。
3. 选择左侧菜单栏中的存储 > PersistentVolume,进入 “PersistentVolume” 页面。如下图所示:


4. 单击新建进入“新建 PersistentVolume” 页面,参考以下信息设置 PV 参数。如下图所示:


来源设置:选择静态创建。
名称:自定义,本文以
cfs-pv
为例。Provisioner:选择文件存储 CFS。
读写权限:文件存储仅支持多机读写。
StorageClass:按需选择合适的 StorageClass。本文以选择在 通过控制台创建 StorageClass 步骤中创建的
cfs-storageclass
为例。说明
PVC 和 PV 会绑定在同一个 StorageClass 下。
不指定 StorageClass 意味着该 PV 对应的 StorageClass 取值为空,对应 YAML 文件中的
storageClassName
字段取值为空字符串。选择 CFS:需确保文件存储与当前集群处于同一私有网络下,本文以选择在 创建文件存储 步骤中创建的
cfs-test
为例。CFS 子目录:填写已在步骤 获取文件系统子目录 中获取的文件系统子路径,本文以
/subfolder
为例。5. 单击创建 PersistentVolume,即可完成创建。
创建 PVC
1. 在目标集群详情页,选择左侧菜单栏中的存储 > PersistentVolumeClaim,进入 “PersistentVolumeClaim” 页面。如下图所示:


2. 选择新建进入“新建 PersistentVolumeClaim” 页面,参考以下信息设置 PVC 关键参数。如下图所示:


名称:自定义,本文以
cfs-pvc
为例。命名空间:选择 “default”。
Provisioner:选择文件存储 CFS。
读写权限:文件存储仅支持多机读写。
StorageClass:按需选择合适的 StorageClass。本文以选择在 通过控制台创建 StorageClass 步骤中创建的
cfs-storageclass
为例。说明
PVC 和 PV 会绑定在同一个 StorageClass 下。
不指定意味着该 PVC 对应的 StorageClass 取值为空,对应 YAML 文件中的
storageClassName
字段取值为空字符串。PersistVolume:按需指定 PersistentVolume,本文选择以在 静态创建 PV 步骤中创建的
cfs-pv
为例。说明
只有与指定的 StorageClass 相同并且状态为 Available 和 Released 的 PV 为可选状态,如果当前集群内没有满足条件的 PV 可选,请选择“不指定”PersistVolume。
如果选择的 PV 状态为 Released,还需手动删除该 PV 对应 YAML 配置文件中的
claimRef
字段,该 PV 才能顺利与 PVC 绑定。详情请参见 查看 PV 和 PVC 的绑定规则。3. 选择创建 PersistentVolumeClaim,即可完成创建。
创建 Workload 使用 PVC 数据卷
说明
该步骤以创建工作负载 Deployment 为例。
1. 在“集群管理”页面,选择目标集群 ID,进入待部署 Workload 的集群的 “Deployment” 页面。
2. 单击新建,进入“新建 Workload” 页面,参考 创建 Deployment 进行创建,并参考以下信息进行数据卷挂载。如下图所示:


数据卷(选填):
挂载方式:选择“使用已有 PVC”。
数据卷名称:自定义,本文以
cfs-vol
为例。选择 PVC:选择在步骤 创建 PVC 中已创建的 “cfs-pvc”。
实例内容器:单击添加挂载点,进行挂载点设置。
数据卷:选择该步骤中已添加的数据卷“cfs-vol”。
目标路径:填写目标路径,本文以
/cache
为例。挂载子路径:仅挂载选中数据卷中的子路径或单一文件。例如,
/data
或 /test.txt
。3. 单击创建 Workload,完成创建。
注意
如使用 CFS 的 PVC 挂载模式,数据卷支持挂载到多台 Node 主机上。
Kubectl 操作指引
创建 PV
apiVersion: v1kind: PersistentVolumemetadata:name: cfsspec:accessModes:- ReadWriteManycapacity:storage: 10Gicsi:driver: com.tencent.cloud.csi.cfsvolumeAttributes:fsid: XXXXXXhost: 192.168.XX.XXpath: /vers: "3"volumeHandle: cfspersistentVolumeReclaimPolicy: RetainstorageClassName: XXXvolumeMode: Filesystem
参数 | 是否可选 | 描述 |
fsid | 是 | 文件系统 fsid(非文件系统 id),可在文件系统挂载点信息中查看。 |
host | 是 | 文件系统 ip 地址,可在文件系统挂载点信息中查看。 |
path | 是 | 文件系统子目录,挂载后 workload 将无法访问到该子目录的上层目录。 |
vers | 是 | 插件连接文件系统时所使用的协议版本,目前支持的版本有 "3" 和 "4"。 |
说明
如果您在静态 PV 的 YAML 中指定协议版本为
vers: "3"
,则还需要指定待挂载文件系统的 fsid 参数(获取方式请参考 获取文件系统 fsid),否则会存在挂载失败的情况;vers: "4"
则无需指定 fsid。