有奖捉虫:行业应用 & 管理与支持文档专题 HOT
文档中心 > 最佳实践 > 文件存储 > 在容器 TKE 上使用 CFS

操作场景

文件存储(Cloud File Storage,CFS)在容器环境如下主要适用于两类场景:

场景一:POD/容器数据的持久化存储,推荐使用动态挂载 CFS

CFS 可提供一个持久化存储的空间,当 POD/容器销毁时,数据仍然保存;当 POD/容器再次启动时,可通过 PVC 快速挂载原空间,实现数据的读写操作。 相比于其他方案,单 FS 实例可同时支持多个 POD/容器的数据存储,并支持根据 CFS 实例中的不同子目录,分配给不同的 POD。CFS 通用标准型/性能型按照实际使用容量进行计费,且无最小购买容量要求,可降低用户大规模容器持久化数据存储的成本。

场景二:多 POD/容器的数据共享,推荐使用静态挂载 CFS

CFS 通过 NFS/私有协议提供了一个共享访问的目录空间给多个 POD/容器,实现数据资源的高效共享,相比于其他方案,能提供更高的带宽和 IOPS 能力。
本文将重点介绍基于腾讯云控制台,部署容器 workload 的方法。具体的 YAML 写法,可参考通过控制台创建 StorageClass 后自动生成 YAML 文件。
注意:
使用前,需确保容器服务 (Tencent Kubernetes Engine,TKE)集群的 CSI 组件在1.0.4版本以上。若版本不对,可在 TKE 控制台上进行更新,CSI 组件的更新不影响容器的正常使用。

操作步骤

动态挂载 CFS

说明:
POD/容器数据的持久化存储场景,推荐此方式进行挂载。
1. 创建 StorageClass,具体操作请参见 通过控制台创建 StorageClass 文档。
?
相关的关键配置项如下:
配置项
配置项.说明
实例创建模式
此场景选择共享实例。
可用区
建议选择与容器宿主机相同的可用区,以便获得更好的性能。
存储类型
根据实际性能需求可选择通用标准型存储和通用性能型存储。
协议版本
在非多个同时修改/编辑的场景下,建议使用 NFS V3协议,以便得到更好的性能。
回收策略
可根据实际需要,选择删除和保留,为避免数据误删优先建议选择保留。
2. 创建 PVC,具体操作请参见 创建 PVC 文档。
?
相关的关键配置项如下:
配置项
配置项说明
命名空间
根据实际需要选择不同的命名空间。
Storageclass
选择刚才创建的 StorgeClass。
是否指定PersistentVolume
动态创建可不指定 PV。说明:基于 CFS 共享型实例的 StorgeClass,在创建 PVC 时,若不指定 PV,CSI 插件会在创建 PVC 的同时,自动创建一个按量付费的 CFS 实例,此实例会随着 PVC 的删除而删除,故需谨慎处理基于此方式创建的 PVC。
3. 创建 Deployment,具体操作请参见 创建 Deployment 文档。
?
相关的关键配置项如下:
配置项
配置项说明
数据卷
根据实际需求,对数据卷进行命名,并选中刚创建的 PVC。
挂载点
选择对应的数据卷,指定在容器本地的挂载路径。在共享 CFS 实例的动态创建方式下,需要指定具体的环境变量,CSI 插件会基于配置的环境变量的变量值,在所选 PVC 对应的 CFS 实例里创建目录供容器挂载。
配置完成后,单击创建 Workload,系统将基于此配置创建容器,并挂载 CFS。

静态挂载 CFS

说明:
多 POD/容器的数据共享场景,推荐此方式进行挂载。
1. 创建 StorageClass,具体操作请参见 通过控制台创建 StorageClass 文档。
?
相关的关键配置项如下:
配置项
配置项.说明
实例创建模式
此场景选择共享实例。
可用区
建议选择与容器宿主机相同的可用区,以便获得更好的性能。
存储类型
根据实际性能需求可选择通用标准型存储和通用性能型存储。
协议版本
在非多个同时修改/编辑的场景下,建议使用 NFS V3 协议,以便得到更好的性能。
回收策略
可根据实际需要,选择删除和保留,为避免数据误删优先建议选择保留。
2. 创建 PV,具体操作请参见 静态创建 PV 文档。
?
相关的关键配置项如下:
配置项
配置项说明
来源设置
选择静态创建,即指定某个 CFS 实例配置 PV。
StorgeClass
选择刚才创建的 StorgeClass。
选择 CFS
选择一个指定的 CFS。说明:静态创建时需要保证已经有一个 CFS 实例,同时该 CFS 实例需与容器在同一个 VPC 网络环境。
CFS 子目录
CFS 可以允许挂载子目录,用户可根据实际需要选择不同的子目录绑定至一个或多个 PV 上,实现不同程度的数据共享。
3. 创建 PVC,具体操作请参见 创建 PVC 文档。
?
相关的关键配置项如下:
配置项
配置项说明
命名空间
根据实际需要选择不同的命名空间。
Storageclass
选择刚才创建的 StorgeClass。
是否指定PersistentVolume
选择指定,并选择刚才创建的 PV。
4. 创建 Deployment,具体操作请参见 创建 Deployment 文档。
?
?
?
相关的关键配置项如下:
配置项
配置项说明
数据卷
根据实际需求,对数据卷进行命名,并选中刚创建的 PVC。
挂载点
选择对应的数据卷,指定在容器本地的挂载路径。对于自动创建子目录的场景,目前有两种方案可以使用。方案一,挂载点选择subPath,直接填写希望挂载的路径名称如 test,则 CSI 插件会自动在文件系统根路径下创建 test 目录,并自动挂载至容器的指定目录下。方案二,添加环境变量,并给环境变量赋值。挂载点选择 subPathExpr,并选择对应的环境变量。则 CSI 插件将会以该环境变量的变量值作为目录名,自动在文件系统的根路径下创建该目录,并自动挂载至容器的指定目录下。
配置完成后,单击创建 Workload,系统将基于此配置创建容器,并挂载 CFS。


http://www.vxiaotou.com