简介
组件介绍
Kubernetes-csi-tencentcloud GooseFS 插件实现 CSI 的接口,可帮助您在容器集群使用腾讯云数据加速器。
部署在集群内的 Kubernetes 对象
Kubernetes 对象名称  | 类型  | 默认占用资源  | 所属 Namespaces  | 
goosefs-csi-controller  | Deployment  | 0.02核CPU,220MB内存  | kube-system  | 
goosefs-csi-nodeplugin  | DaemonSet  | 0.06核CPU,270MB内存  | kube-system  | 
csi-goosefs-controller  | ServiceAccount  | -  | kube-system  | 
csi-goosefs-controller  | ClusterRole  | -  | -  | 
csi-goosefs-controller  | ClusterRoleBinding  | -  | -  | 
csi-goosefs-node  | ServiceAccount  | -  | kube-system  | 
csi-goosefs-node  | ClusterRole  | -  | -  | 
csi-goosefs-node  | ClusterRoleBinding  | -  | -  | 
goosefs-csi-fuse-config  | ConfigMap  | -  | kube-system  | 
com.tencent.cloud.csi.goosefs  | CSIDriver  | -  | -  | 
使用场景
数据加速器(Data Accelerator Goose FileSystem,GooseFS)是由腾讯云推出的多协议、高性能、大吞吐的数据加速服务。GooseFS 可以为上层计算应用提供统一的命名空间和访问协议,方便用户在不同的存储系统管理和流转数据。依托对象存储作为数据存储底座的海量存储、低成本优势,GooseFS 不仅可以加速海量数据分析、机器学习、人工智能等业务访问存储的性能,还可以帮助业务实现冷热数据自动分层,平衡业务架构的性能表现和成本支出。
通过 GooseFS-CSI 扩展组件,您可以快速的在容器集群中使用GooseFS。
限制条件
支持 Kubernetes 1.14 以上版本的集群。
支持 GooseFS 可用地域。
在 TKE 中使用 GooseFS,需要在集群内安装该扩展组件,将占用一定的系统资源。
goosefs-csi 权限
权限说明
该组件权限是当前功能实现的最小权限依赖。
需要挂载主机 
/var/lib/kubelet 相关目录到容器来完成 volume 的 mount/umount,因此需要开启特权级容器。权限场景
goosefs-csi-controller
功能  | 涉及对象  | 涉及操作权限  | 
根据 pvc/pv 等信息完成盘的创建和删除。  | nodes/csinodes/storageclasses/volumesnapshots/volumesnapshotcontents  | get/watch/list  | 
  | PersistentVolumeClaim  | get/watch/list/update  | 
  | PersistentVolume  | get/watch/list/create/delete  | 
通过 kubernetes lease 机制支持 controller 多副本。  | leases  | get/list/watch/create/update/patch/delete  | 
goosefs-csi-node
功能  | 涉及对象  | 涉及操作权限  | 
启动和删除进行 goosefs fuse 挂载的伴随 pod  | pods  | create/delete  | 
权限定义
goosefs-csi-controller
kind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata:name: csi-goosefs-controllerrules:- 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: ["list", "watch", "create", "update", "patch"]- apiGroups: ["snapshot.storage.k8s.io"]resources: ["volumesnapshots"]verbs: ["get", "list"]- apiGroups: ["snapshot.storage.k8s.io"]resources: ["volumesnapshotcontents"]verbs: ["get", "list"]- apiGroups: ["storage.k8s.io"]resources: ["csinodes"]verbs: ["get", "list", "watch"]- apiGroups: [""]resources: ["nodes"]verbs: ["get", "list", "watch"]- apiGroups: ["coordination.k8s.io"]resources: ["leases"]verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
goosefs-csi-node
kind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata:name: csi-goosefs-noderules:- apiGroups: [""]resources: ["pods"]verbs: ["create", "delete"]
使用方法
安装 GooseFS 扩展组件
1. 登录 容器服务控制台,在左侧导航栏中选择集群。
2. 在集群列表中,单击目标集群 ID,进入集群详情页。
3. 选择左侧菜单栏中的组件管理,在组件管理页面单击新建。
4. 在新建组件管理页面中勾选 GooseFS。
5. 单击完成即可创建组件。
使用数据加速器 GooseFS