/qingcloud-csi

Kubernetes volume plugin based on CSI specification which support block storage of qingcloud

Primary LanguageGoApache License 2.0Apache-2.0

QingCloud-CSI

Build Status Go Report Card


Description

QingCloud CSI plugin implements an interface between Container Storage Interface (CSI) enabled Container Orchestrator (CO) and the storage of QingCloud. Currently, QingCloud CSI disk plugin has been developed and manages disk volume in QingCloud platform.

Disk Plugin

Disk plugin's design and installation use Kubernetes community recommended CSI plugin architecture. Plugin architecture contains Controller part and Node part. In the part of Controller, one Pod is created by Deployment in Kubernetes cluster. In the part of Node, one Pod is created by DaemonSet on every node. Now, it has been passed the CSI test in Kubernetes v1.15 environment.

After plugin installation completes, user can create volumes based on several types of disk, such as Standard disk, SSD Enterprise disk, High Performance disk, Super High Performance disk, NeonSAN disk, NeonSAN HDD disk and High Capacity disk, with ReadWriteOnce access mode and mount volumes on workloads.

Kubernetes Compatibility Matrix

QingCloud CSI Kubernetes v1.10-v1.13 Kubernetes v1.14-1.15 Kubernetes v1.16+
v0.2.x - -
v1.1.0 - -
v1.2.0+ - -

Feature Matrix

QingCloud CSI Volume Management* Volume Expansion Volume Monitor Volume Cloning Snapshot Management** Topology Awareness
v0.2.x - - - - -
v1.1.0
v1.2.0+ ✓***

Notes:

  • *: Volume Management including creating/deleting volume and mounting/unmount volume on Pod.
  • **: Snapshot management including creating/deleting snapshot and restoring volume from snapshot.
  • ***: Only supports Snapshot Management on Kubernetes v1.17+ because snapshot features goes into Beta on this version.

Installation

From v1.2.0, QingCloud-CSI will be installed by helm. See Helm Charts for details.

Upgrade from v1.x

If old versions before v1.2.0 installed, you should uninstall the old versions. After that, v1.2.0+ can be installed by helm chart.

Uninstall Old Version

git checkout v1.1.1
kubectl delete -f deploy/disk/kubernetes/releases/qingcloud-csi-disk-v1.1.1.yaml
kubectl delete sc csi-qingcloud

Install New Version

install by Helm Charts

Document

Support

If you have any questions or suggestions, please submit an issue at qingcloud-csi