tencent cloud

文档反馈

在容器 TKE 上使用 CFS

最后更新时间:2024-01-22 22:15:48

    操作场景

    文件存储(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 插件将会以该环境变量的变量值作为目录名,自动在文件系统的根路径下创建该目录,并自动挂载至容器的指定目录下。
    5. 配置完成后,单击创建 Workload,系统将基于此配置创建容器,并挂载 CFS。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持