Alibaba Cloud Kubernetes CSI Driver
[![GoReportCard Widget]][GoReportCardResult]
English | 简体中文
The Alibaba Cloud CSI Driver implements the Container Storage Interface (CSI) specification, allowing Container Orchestrators (COs) such as Kubernetes to manage the full lifecycle of Alibaba Cloud storage volumes — dynamic provisioning, attaching, mounting, resizing and snapshotting.
[!WARNING]
Deploying this driver to your ACK cluster manually is not recommended.
Instead, users should use ACK Add-ons to automatically deploy and manage the
Alibaba Cloud CSI Driver.
Manual deployment of the driver in your ACK cluster is not officially supported by Alibaba Cloud.
Overview
Alibaba Cloud CSI plugins implement an interface between CSI-enabled Container Orchestrators and Alibaba Cloud Storage. They allow you to dynamically provision storage volumes and attach them to your workloads.
The current implementation has been tested against Kubernetes 1.14+; manual deployment via Helm requires Kubernetes 1.26+.
Supported Storage
| Driver | CSI Name | Type | Access Modes | Dynamic Provisioning | Documentation |
|--------|--------------------------------------|--------|--------------|----------------------|-------------------------|
| Disk | diskplugin.csi.alibabacloud.com | Block | RWO | Yes | Cloud Disk |
| NAS | nasplugin.csi.alibabacloud.com | File | RWX / RWO | Yes | NAS |
| OSS | ossplugin.csi.alibabacloud.com | Object | RWX / RWO | No (bucket mount) | OSS |
| BMCPFS | bmcpfsplugin.csi.alibabacloud.com | File | RWX / RWO | No (static only) | BMCPFS |
- Cloud Disk is block storage that can only be used by one workload at a
ReadWriteOnce) and attached to a single node at a time. It supports
snapshots, expansion, topology-aware scheduling, raw block volumes, and
local-disk data caching for acceleration.
- NAS is a shared network file system compatible with NFS/SMB, mountable
ReadWriteMany). CPFS 2.0 is now served
through the NAS CSI plugin.
- OSS mounts object-storage buckets into pods. It does not provision buckets
ReadWriteMany).
- BMCPFS mounts a Bare Metal Cloud Parallel File System — a high-performance
ReadWriteMany). It supports **static provisioning
only**: the file system must be pre-created in Alibaba Cloud. Both VSC (high
performance, Lingjun) and VPC networking are supported.
CPFS CSI Plugin — Removed: use the NAS CSI plugin for CPFS 2.0.
Feature Matrix
| Feature | Stage | Min Kubernetes Version | Min Driver Version | |-----------------|-------|------------------------|--------------------| | Topology | GA | 1.17 | v1.0.2 | | Resize (Expand) | GA | 1.16 | v1.0.5 | | Snapshots | GA | 1.20 | v1.1.2 |
Getting Started
Prerequisites
kubectlconfigured to communicate with the cluster- Helm 3
- RAM permissions for the driver to invoke Alibaba Cloud OpenAPIs on your behalf
- Individual drivers may have additional requirements; consult their
Installation
See the Installation Guide for deployment options, RAM setup, configuration presets, and verification steps.
Development
Building
Container images are built via:
make build
Testing
make fmt # check formatting
make vet # go vet
make lint # golangci-lint
make test # unit tests
End-to-end Helm install against a kind cluster
make check-helm-kind
Community, Discussion, Contribution, and Support
Learn how to engage with the Kubernetes community on the community page.
You can reach the maintainers of this project at the Cloud Provider SIG.
You can join the DingTalk group (Group ID: 33936810) to talk with us.
Please submit issues at GitHub Issues, and read CONTRIBUTING.md before opening a pull request.
Code of Conduct
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.
Security
Please report vulnerabilities by email to [email protected]. See our SECURITY.md for details.
License
This project is licensed under the Apache License 2.0.
[GoReportCard Widget]: https://goreportcard.com/badge/github.com/kubernetes-sigs/alibaba-cloud-csi-driver [GoReportCardResult]: https://goreportcard.com/report/github.com/kubernetes-sigs/alibaba-cloud-csi-driver