CSIOperator 介绍

CSIOperator 介绍

CSIOperator

CSIOperator 介绍

Container Storage Interface Operator(CSIOperator)用于部署和更新 Kubernetes 集群中的 CSI 驱动和外部存储组件。

CSIOperator 使用场景

CSIOperator 用于支持集群方便的使用存储资源,当前支持的存储插件包括 RBD、CephFS、TencentCBS 和 TencentCFS(TencentCFS 正在测试中)

  • 其中 RBD 和 CephFS 主要用于部署在 IDC 环境的集群
  • TencentCBS 和 TencentCFS 用于部署在腾讯云环境的集群

部署在集群内 kubernetes 对象

在集群内部署 CSIOperator,将在集群内部署以下 kubernetes 对象

kubernetes 对象名称类型默认占用资源所属 Namespaces
csi-operatorDeployment每节点0.2核 CPU, 256MB内存kube-system

CSIOperator 使用方法

安装 CSIOperator

  • 登录 TKEStack
  • 切换至 【平台管理】控制台,选择 【扩展组件】 页面
  • 选择需要安装组件的集群,点击【新建】按钮。如下图所示:

  • 在弹出的扩展组件列表里,滑动列表窗口找到 CSIOperator
  • 单击【完成】进行安装

通过 CSIOperator 使用腾讯云存储资源

  • 登录 TKEStack
  • 切换至 【平台管理】控制台,选择 【集群管理】 页面,如下图1所示:
  • 点击安装了 CSIOperator 组件的【集群ID】,进入要管理的集群,如下图2所示:
  • 点击【YAML创建资源】,如下图3所示:

  • 文件中指定各自存储插件镜像的名称,这里以tencentcbs的 YAML 为例:(前提:需要拥有腾讯云账号)

    apiVersion: storage.tkestack.io/v1
    kind: CSI
    metadata:
      name: tencentcbsv1
      namespace: kube-system
    spec:
      driverName: com.tencent.cloud.csi.cbs
      version: "v1"
      parameters:
        secretID: "xxxxxx"
        secretKey: "xxxxxx"
    
    • secretID、secretKey 来源于 腾讯云控制台 -> 账号中心 -> 访问管理 -> 访问秘钥 -> API密钥管理
  • 创建完 CSIOperator 的 CRD 对象,同时会为每个存储插件创建默认的 StorageClass 对象(tencentcbs 的 StorageClass 对象名为 cbs-basic-prepaid),如下图:

其 YAML 如下:

  • tencentcbs 的 provisioner 名称指定为:com.tencent.cloud.csi.cbs

  • tencentcfs 的 provisioner 名称指定为:com.tencent.cloud.csi.cfs,tencentcfs 仍在测试中,目前仅支持 tencentcbs

  • 对于磁盘类型(在 StorageClass 的 diskType 中指定)和大小的限制:

    • 普通云硬( CLOUD_BASIC )盘提供最小 100 GB 到最大 16000 GB 的规格选择,支持 40-100MB/s 的 IO 吞吐性能和 数百-1000 的随机 IOPS 性能
    • 高性能云硬盘(CLOUD_PREMIUM)提供最小 50 GB 到最大 16000 GB 的规格选择
    • SSD 云硬盘(CLOUD_SSD)提供最小 100 GB 到最大 16000 GB 的规格选择,单块 SSD 云硬盘最高可提供 24000 随机读写IOPS、260MB/s吞吐量的存储性能
  • 默认创建的磁盘类型为普通云硬盘,如果用户希望使用该 StorageClass,可以直接创建使用了该 StorageClass 的 PVC 对象:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: test-tencentcbs
      namespace: kube-system
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: cbs-basic-prepaid
      resources:
        requests:
          storage: 10Gi
    

详情请见 CSIOperator Example