Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
kubernetes-sigs/alibaba-cloud-csi-driver: CSI Plugin for Kubernetes, Support Alibaba Cloud EBS/NAS/OSS/CPFS

kubernetes-sigs/alibaba-cloud-csi-driver: CSI Plugin for Kubernetes, Support Alibaba Cloud EBS/NAS/OSS/CPFS

13 hours ago

Alibaba Cloud Kubernetes CSI Driver

[![GoReportCard Widget]][GoReportCardResult] License</a> Releases</a> Go Version</a>

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
time (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
from many nodes simultaneously (ReadWriteMany). CPFS 2.0 is now served through the NAS CSI plugin.
  • OSS mounts object-storage buckets into pods. It does not provision buckets
but can be mounted from multiple nodes (ReadWriteMany).
  • BMCPFS mounts a Bare Metal Cloud Parallel File System — a high-performance
parallel file system optimized for high-I/O workloads, mountable from many nodes simultaneously (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

  • kubectl configured to communicate with the cluster
  • Helm 3
  • RAM permissions for the driver to invoke Alibaba Cloud OpenAPIs on your behalf
(see the example policies)
  • Individual drivers may have additional requirements; consult their
documentation

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

Chat with me