tencent cloud

文档反馈

CFS-CSI 说明

最后更新时间:2024-02-01 10:05:17

    简介

    组件介绍

    Kubernetes-csi-tencentloud CFS 插件实现 CSI 的接口,可帮助您在容器集群中使用腾讯云文件存储。
    注意:
    1.12 集群需要修改 kubelet 配置,增加 --feature-gates=KubeletPluginsWatcher=false

    部署在集群内的 Kubernetes 对象

    kubernetes对象名称
    类型
    默认占用资源
    所属Namespaces
    csi-provisioner-cfsplugin
    StatefulSet
    -
    kube-system
    csi-nodeplugin-cfsplugin
    DaemonSet
    -
    kube-system
    csi-provisioner-cfsplugin
    Service
    1C2G
    kube-system

    使用场景

    文件存储 CFS 提供了可扩展的共享文件存储服务,可与腾讯云 CVM、容器服务 TKE、批量计算等服务搭配使用。CFS 提供了标准的 NFS 及 CIFS/SMB 文件系统访问协议,为多个 CVM 实例或其他计算服务提供共享的数据源,支持弹性容量和性能的扩展,现有应用无需修改即可挂载使用,是一种高可用、高可靠的分布式文件系统,适合于大数据分析、媒体处理和内容管理等场景。
    CFS 接入简单,您无需调节自身业务结构,或者是进行复杂的配置。只需三步即可完成文件系统的接入和使用:创建文件系统,启动服务器上文件系统客户端,挂载创建的文件系统。通过 CFS-CSI 扩展组件,您可以快速在容器集群中通过标准原生 Kubernetes 使用 CFS,详情请参见 CFS 使用场景

    限制条件

    CFS 自身限制可参见 CFS 系统限制
    在 TKE 中使用 CFS,需要在集群内安装该扩展组件,这将占用一定的系统资源。

    cfs-csi 权限

    说明:
    权限场景章节中仅列举了组件核心功能涉及到的相关权限,完整权限列表请参考权限定义章节。

    权限说明

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

    权限场景

    功能
    涉及对象
    涉及操作权限
    需要支持动态创建 cfs 实例
    persistentvolumeclaims/persistentvolumes
    所有操作
    storageclasses
    get/list/watch
    支持共享模式下的 cfs 实例
    tcfs
    get/list/watch/create/update/delete/patch
    deployment
    get/list/watch/create/update/delete
    node
    get/list

    权限定义

    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
    name: csi-cfs-controller-role
    rules:
    - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["get", "list"]
    - apiGroups: [""]
    resources: ["services", "events", "configmaps", "endpoints"]
    verbs: ["get","list","create","update","patch","delete"]
    - apiGroups: [""]
    resources: ["services/status", "events/status"]
    verbs: ["get"]
    - apiGroups: [""]
    resources: ["persistentvolumes"]
    verbs: ["get", "list", "watch", "create", "delete", "update"]
    - apiGroups: [""]
    resources: ["persistentvolumeclaims"]
    verbs: ["get", "list", "watch", "update", "patch", "create"]
    - apiGroups: ["storage.k8s.io"]
    resources: ["volumeattachments", "volumeattachments/status"]
    verbs: ["get", "list", "watch", "update", "patch"]
    - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get", "list", "watch"]
    - apiGroups: ["extensions"]
    resources: ["ingresses"]
    verbs: ["get", "list", "watch", "update", "patch", "create"]
    - apiGroups: ["extensions"]
    resources: ["ingresses/status"]
    verbs: ["get"]
    - apiGroups: ["apps"]
    resources: ["deployments"]
    verbs: ["get", "list", "delete", "update", "create", "watch"]
    - apiGroups: ["apps"]
    resources: ["deployments/status"]
    verbs: ["get"]
    - apiGroups: ["tcfsoperator.k8s.io"]
    resources: ["tcfs", "tcfs/status"]
    verbs: ["get", "list", "watch", "create", "delete", "update", "patch"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
    name: tcfs-subdir-external-provisioner-runner
    rules:
    - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["get", "list", "watch"]
    - apiGroups: [""]
    resources: ["persistentvolumes"]
    verbs: ["get", "list", "watch", "create", "delete"]
    - apiGroups: [""]
    resources: ["persistentvolumeclaims"]
    verbs: ["get", "list", "watch", "update"]
    - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get", "list", "watch"]
    - apiGroups: [""]
    resources: ["events"]
    verbs: ["create", "update", "patch"]

    操作步骤

    安装并设置 CFS 扩展组件

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

    创建 CFS 类型 StroageClass

    1. 在集群管理页面单击使用 CFS 的集群 ID,进入集群详情页。
    2. 在左侧导航栏中选择存储>StorageClass,单击新建进入新建 StorageClass 页面。
    3. 根据实际需求,创建 CFS 类型的 StorageClass。如下图所示:
    
    
    4. 单击创建StorageClass,完成创建。

    创建 PersistentVolumeClaim

    1. 在集群管理页面单击使用 CFS 的集群 ID,进入集群详情页。
    2. 在左侧导航栏中选择存储 > PersistentVolumeClaim,单击新建进入新建 PersistentVolumeClaim 页面。
    3. 根据实际需求,创建 CFS 类型 PersistentVolumeClaim,选择上述步骤创建的 StorageClass。
    4. 单击创建 PersistentVolumeClaim,完成创建。

    创建工作负载

    1. 在集群管理页面单击使用 CFS 的集群 ID,进入集群详情页。
    2. 在左侧导航栏中选择工作负载 > Deployment,单击新建进入新建 Workload 页面。
    3. 根据实际需求,数据卷选择使用已有 PVC,并选择上述已创建的 PVC。
    4. 挂载到容器的指定路径后,单击创建 Workload 完成创建。
    联系我们

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

    技术支持

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

    7x24 电话支持