简介
组件介绍
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