组件介绍
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: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata:name: cfsturbo-csi-controller-rolerules:- 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 | |
回收策略 | 提供删除和保留两种回收策略,出于数据安全考虑,推荐使用保留回收策略。 删除:通过 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 挂载点信息中的挂载子目录进行填写。 |
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。