GooseFS-CSI 说明

最近更新时间:2025-02-26 16:53:52

我的收藏

简介

组件介绍

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: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: csi-goosefs-controller
rules:
- 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: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: csi-goosefs-node
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["create", "delete"]

使用方法

安装 GooseFS 扩展组件

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

使用数据加速器 GooseFS

您可在 TKE 集群中为工作负载挂载数据加速器,详情请参见 使用数据加速器 GooseFS