CFSTURBO-CSI 说明

最近更新时间:2024-01-30 14:46:11

我的收藏

组件介绍

Kubernetes-csi-tencentcloud CFSTURBO 插件实现 CSI 的接口,可帮助您在容器集群中使用腾讯云 CFS Turbo 文件存储。

使用场景

文件存储 CFS Turbo 适用于大规模吞吐型和混合负载型业务,它提供了私有协议的挂载方式,单个客户端的性能可达到存储集群的性能水平。您可以将其与腾讯云云服务器 CVM、容器服务 TKE 和批量计算等服务搭配使用。
CFS Turbo 接入简单,您无需调整现有业务结构或进行复杂的配置。只需三个步骤即可完成文件系统的接入和使用:创建文件系统、启动服务器上的文件系统客户端,然后挂载所创建的文件系统。通过 CFSTURBO-CSI 扩展组件,您可以快速在容器集群中通过标准原生 Kubernetes 使用 CFS Turbo。

限制条件

使用 CFSTURBO-CSI 扩展组件需要 Kubernetes 版本大于等于1.14。
CFS Turbo 自身限制请参见 CFS 系统限制
在 TKE 中使用 CFS Turbo,需要在集群内安装该扩展组件,这将占用一定的系统资源。

cfsturbo-csi 权限

权限说明

该组件权限是当前功能实现的最小权限依赖。
需要挂载主机 /var/lib/kubelet 相关目录到容器来完成 volume 的 mount/umount,所以需要开启特权级容器。

权限场景

功能
涉及对象
涉及操作权限
支持动态创建/删除 cfsturbo 子目录类型 pv
persistentvolumeclaims/persistentvolumes/storageclasses
get/list/watch/create/delete/update
node
get/list/

权限定义

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: cfsturbo-csi-controller-role
rules:
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete", "update"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list"]
- apiGroups: [""]
resources: ["events"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]


操作步骤

安装组件

1. 登录 容器服务控制台,在左侧导航栏中选择集群
2. 在集群列表中,单击目标集群 ID,进入集群详情页。
3. 选择左侧菜单栏中的组件管理,在组件管理页面单击新建
4. 新建组件管理页面中勾选 CFSTurbo
5. 单击完成即可创建组件。

指定 StroageClass

步骤1:创建 CFS Turbo 类型 StroageClass

1. 在集群列表中,单击集群 ID,进入集群详情页。
2. 选择左侧菜单栏中的存储 > StorageClass,在 StorageClass 页面单击新建
3. 新建 StorageClass 页面中,配置 StorageClass 参数。 如下图所示:



配置项
描述
名称
填写 StorageClass 的名称。
地域
默认为集群所在地域。
Provisioner
此处选择文件存储 CFS Turbo。
CFS Turbo
此处选择已创建的 CFS Turbo。如果您没有合适的 CFS Turbo,请前往文件存储控制台新建,详情请参见 创建文件系统及挂载点
回收策略
提供删除和保留两种回收策略,出于数据安全考虑,推荐使用保留回收策略。
删除:通过 PVC 动态创建的 PV,在 PVC 销毁时,与其绑定的 PV 和存储实例也会自动销毁。
保留:通过 PVC 动态创建的 PV,在 PVC 销毁时,与其绑定的 PV 和存储实例会被保留。
4. 单击创建 StorageClass,完成创建。

步骤2:创建 PersistentVolumeClaim

1. 在集群列表中,单击集群 ID,进入集群详情页。
2. 选择左侧菜单栏中的存储 > PersistentVolumeClaim,在 PersistentVolumeClaim 页面单击新建
3. 新建 PersistentVolumeClaim 页面中,配置 PVC 关键参数。
配置项
描述
名称
填写 PersistentVolumeClaim 的名称。
命名空间
命名空间用来划分集群资源。此处选择 default。
Provisioner
选择文件存储 CFS Turbo。
读写权限
文件存储仅支持多机读写。
是否指定StorageClass
选择指定 StorageClass
说明:
PVC 和 PV 会绑定在同一个 StorageClass 下。
不指定 StorageClass 意味着该 PVC 对应的 StorageClass 取值为空,对应 YAML 文件中的 storageClassName 字段取值为空字符串。
StorageClass
选择上述步骤创建的 StorageClass。
是否指定 PersistVolume
按需指定 PersistentVolume。 说明:
系统首先会筛选当前集群内是否存在符合绑定规则的 PV,若没有则根据 PVC 和所选 StorageClass 的参数动态创建 PV 与之绑定。
系统不允许在不指定 StorageClass 的情况下同时选择不指定 PersistVolume。
关于不指定 PersistVolume 的详细介绍,请参见 查看 PV 和 PVC 的绑定规则
4. 单击创建 PersistentVolumeClaim

步骤3:创建工作负载

1. 在集群列表中,单击集群 ID,进入集群详情页。
2. 选择左侧菜单栏中的工作负载 > Deployment,在 Deployment 页面单击新建
3. 在新建 Deployment 页面中,配置工作负载参数,参数详情请参见 创建 Deployment。根据实际需求,数据卷选择使用已有PVC,并选择上述已创建的 PVC。
4. 挂载到容器的指定路径后,单击创建 Deployment

不指定 StroageClass

步骤1:创建 PersistentVolume

1. 在集群列表中,单击集群 ID,进入集群详情页。
2. 选择左侧菜单栏中的存储 > PersistentVolume,在 PersistentVolume 页面单击新建
3. 新建 PersistentVolume 页面中,配置 PV 关键参数。如下图所示:



配置项
描述
来源设置
选择静态创建
名称
填写 PersistentVolume 的名称。
Provisioner
选择文件存储 CFS Turbo。
读写权限
文件存储仅支持多机读写。
是否指定 StorageClass
选择不指定 StorageClass
CFS Turbo
此处选择已创建的 CFS Turbo。如果您没有合适的 CFS Turbo,请前往文件存储控制台新建,详情请参见 创建文件系统及挂载点
CFS Turbo根目录
根据 CFS Turbo 挂载点信息中的挂载根目录进行填写。
CFS Turbo子目录
根据 CFS Turbo 挂载点信息中的挂载子目录进行填写。

4. 单击创建PersistentVolume,完成创建。

步骤2:创建 PersistentVolumeClaim

1. 在集群列表中,单击集群 ID,进入集群详情页。
2. 选择左侧菜单栏中的存储 > PersistentVolumeClaim,在 PersistentVolumeClaim 页面单击新建
3. 新建 PersistentVolumeClaim 页面中,配置 PVC 关键参数。
配置项
描述
名称
填写 PersistentVolumeClaim 的名称。
命名空间
命名空间用来划分集群资源。此处选择 default。
Provisioner
选择文件存储 CFS Turbo。
读写权限
文件存储仅支持多机读写。
是否指定StorageClass
选择不指定 StorageClass
说明:
PVC 和 PV 会绑定在同一个 StorageClass 下。
不指定 StorageClass 意味着该 PVC 对应的 StorageClass 取值为空,对应 YAML 文件中的 storageClassName 字段取值为空字符串。
StorageClass
选择上述步骤创建的 StorageClass。
是否指定 PersistVolume
按需指定 PersistentVolume。 说明:
系统首先会筛选当前集群内是否存在符合绑定规则的 PV,若没有则根据 PVC 和所选 StorageClass 的参数动态创建 PV 与之绑定。
系统不允许在不指定 StorageClass 的情况下同时选择不指定 PersistVolume。
关于不指定 PersistVolume 的详细介绍,请参见 查看 PV 和 PVC 的绑定规则
4. 单击创建 PersistentVolumeClaim

步骤3:创建工作负载

1. 在集群列表中,单击集群 ID,进入集群详情页。
2. 选择左侧菜单栏中的工作负载 > Deployment,在 Deployment 页面单击新建
3. 在新建 Deployment 页面中,配置工作负载参数,参数详情请参见 创建 Deployment。根据实际需求,数据卷选择使用已有 PVC,并选择上述已创建的 PVC。
4. 挂载到容器的指定路径后,单击创建 Deployment