一、使用场景
文件存储 CFS Turbo 适用于大规模吞吐型和混合负载型业务,它提供了私有协议的挂载方式,单个客户端的性能可达到存储集群的性能水平。你可以将其与腾讯云云服务器 CVM、容器服务 TKE 和批量计算等服务搭配使用。
CFS Turbo 接入简单,你无需调整现有业务结构或进行复杂的配置。只需三个步骤即可完成文件系统的接入和使用:创建文件系统、启动服务器上的文件系统客户端,然后挂载所创建的文件系统。通过 CFSTURBO-CSI 扩展组件,你可以快速在容器集群中通过标准原生 Kubernetes 使用 CFS Turbo。
二、限制条件
·使用 CFSTURBO-CSI 扩展组件需要 Kubernetes 版本大于等于1.14。
·CFS Turbo 自身限制请参见 CFS 系统限制。
·在 TKE 中使用 CFS Turbo,需要在集群内安装该扩展组件,这将占用一定的系统资源。
三、权限说明
·该组件权限是当前功能实现的最小权限依赖。
·需要挂载主机 /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. 单击完成即可创建组件。
七、步骤1:创建 CFS Turbo 类型 StorageClass
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 时选择上述步骤创建的 StorageClass。 |
| 是否指定 PersistentVolume | 按需指定 PersistentVolume。 说明:系统首先会筛选当前集群内是否存在符合绑定规则的 PV,若没有则根据 PVC 和所选 StorageClass 的参数动态创建 PV 与之绑定。系统不允许在不指定 StorageClass 的情况下同时选择不指定 PersistentVolume。关于不指定 PersistentVolume 的详细介绍,请参见 查看 PV 和 PVC 的绑定规则。 |
4. 单击创建 PersistentVolumeClaim。
九、步骤3:创建工作负载
1. 在集群列表中,单击集群 ID,进入集群详情页。
2. 选择左侧菜单栏中的工作负载 > Deployment,在 Deployment 页面单击新建。
3. 在新建 Deployment 页面中,配置工作负载参数,参数详情请参见 创建 Deployment。根据实际需求,数据卷选择使用已有PVC,并选择上述已创建的 PVC。
4. 挂载到容器的指定路径后,单击创建 Deployment。
十、步骤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 字段取值为空字符串。 |
| 是否指定 PersistentVolume | 按需指定 PersistentVolume。 说明:系统首先会筛选当前集群内是否存在符合绑定规则的 PV,若没有则根据 PVC 和所选 StorageClass 的参数动态创建 PV 与之绑定。系统不允许在不指定 StorageClass 的情况下同时选择不指定 PersistentVolume。关于不指定 PersistentVolume 的详细介绍,请参见 查看 PV 和 PVC 的绑定规则。 |
4. 单击创建 PersistentVolumeClaim。
十二、步骤3:创建工作负载
1. 在集群列表中,单击集群 ID,进入集群详情页。
2. 选择左侧菜单栏中的工作负载 > Deployment,在 Deployment 页面单击新建。
3. 在新建 Deployment 页面中,配置工作负载参数,参数详情请参见 创建 Deployment。根据实际需求,数据卷选择使用已有 PVC,并选择上述已创建的 PVC。
4. 挂载到容器的指定路径后,单击创建 Deployment。