Feature | Description |
Static volume | Supports manual creation of volumes, PV objects, and PVC objects. |
Dynamic volume | Supports configuration, creation, and deletion of volumes and PV objects through StorageClass. |
Storage topology awareness | CBS does not support cross-AZ mounting. In a cluster with multiple AZs, the CBS-CSI add-on will schedule pods first, and then volumes will be created in the AZ of the node where the pods are scheduled. |
Scheduler awareness of node maxAttachLimit | By default, one Tencent CVM instance can mount up to 20 cloud disks. When scheduling pods, the scheduler will filter out nodes where the number of mounted cloud disks has exceeded the limit. |
Online volume expansion | You can modify the PVC capacity field to implement online expansion (only the CBS type is supported). |
Volume snapshot and restoration | Supports the creation of volumes through snapshots. |
Feature | Involved Object | Involved Operation Permission |
Perceiving the maximum number of disks that can be mounted on a node from the providerID in the Access Node resources | node | get/list |
Executing disk creation and deletion based on pvc/pv information | pv/pvc/storageclasses/csinode | get/list/watch/create/update/patch/delete |
Completing disk mounting and uninstallation based on volumeattachments resource objects | volumeattachments/volumesnapshotclasses | create/get/list/watch/update/delete |
Expanding disk capacity via snapshot | pod/volumesnapshotclasses/volumesnapshots/configmap | get/list/watch |
kind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata:name: cbs-csi-controller-rolerules:- apiGroups: [""]resources: ["pods"]verbs: ["get", "list", "watch"]- apiGroups: [""]resources: ["persistentvolumes"]verbs: ["get", "list", "watch", "update", "patch", "create", "delete"]- apiGroups: [""]resources: ["persistentvolumeclaims"]verbs: ["get", "list", "watch", "update"]- apiGroups: [""]resources: ["persistentvolumeclaims/status"]verbs: ["update", "patch"]- apiGroups: ["storage.k8s.io"]resources: ["storageclasses"]verbs: ["get", "list", "watch"]- apiGroups: [""]resources: ["events"]verbs: ["get", "list", "watch", "create", "update", "patch"]- 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"]- apiGroups: ["csi.storage.k8s.io"]resources: ["csinodeinfos"]verbs: ["get", "list", "watch"]- apiGroups: ["storage.k8s.io"]resources: ["volumeattachments", "volumeattachments/status"]verbs: ["get", "list", "watch", "update", "patch"]- apiGroups: ["snapshot.storage.k8s.io"]resources: ["volumesnapshotclasses"]verbs: ["get", "list", "watch"]- apiGroups: ["snapshot.storage.k8s.io"]resources: ["volumesnapshotcontents"]verbs: ["create", "get", "list", "watch", "update", "delete"]- apiGroups: ["snapshot.storage.k8s.io"]resources: ["volumesnapshots"]verbs: ["get", "list", "watch", "update"]- apiGroups: ["apiextensions.k8s.io"]resources: ["customresourcedefinitions"]verbs: ["create", "list", "watch", "delete"]- apiGroups: ["snapshot.storage.k8s.io"]resources: ["volumesnapshotcontents/status"]verbs: ["update"]- apiGroups: ["snapshot.storage.k8s.io"]resources: ["volumesnapshots/status"]verbs: ["update"]- apiGroups: [""]resources: ["configmaps"]verbs: ["get", "list", "watch", "update", "patch", "create", "delete"]---kind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata:name: cbs-csi-node-rolenamespace: kube-systemrules:- apiGroups: [""]resources: ["nodes"]verbs: ["get", "list"]
Was this page helpful?