Container Service for Kubernetes (ACK) allows you to use Alibaba Cloud storage services such as disks, Apsara File Storage NAS, and Object Storage Service (OSS) by using the Container Storage Interface (CSI) and FlexVolume plug-ins. This topic describes the volume plug-ins supported by ACK and how to use Alibaba Cloud storage services.
ACK supports CSI and FlexVolume plug-ins. When you create a cluster, you can choose the CSI or FlexVolume plug-in based on the Kubernetes version of the cluster. The following table describes the CSI and FlexVolume plug-ins.
The Kubernetes community recommends the CSI plug-ins. CSI consists of the following parts:
FlexVolume is a traditional mechanism developed by the Kubernetes community to extend data volumes. FlexVolume consists of the following parts:
We recommend that you use CSI for newly created clusters.
You cannot use FlexVolume and CSI in the same cluster.
You cannot change the plug-in from FlexVolume to CSI for a cluster.
Use Alibaba Cloud storage services
Alibaba Cloud provides low-cost, high-reliability, and highly-availability storage services for a wide range of storage resources such as blocks, files, and objects. You can use the appropriate storage services based on the storage requirements. The following table describes the Alibaba Cloud storage services.
Cloud storage service
References for CSI
References for FlexVolume
Disks are block-level Elastic Block Storage (EBS) devices that use a distributed multi-replica mechanism to provide low latency, high performance, high durability, and high reliability. You can create, release, and resize disks at any time. For more information, see Disks.
Disks cannot be shared. A disk can be mounted only to a single pod. Both statically and dynamically provisioned volumes can be mounted to pods.
NAS is a distributed file system that supports both the Network File System (NFS) and Server Message Block (SMB) protocols and features shared access, elastic scalability, high reliability, and high performance. For more information, see What is NAS?
NAS is a shared storage service. A NAS file system can be mounted to multiple pods. Only statically provisioned volumes can be mounted to pods.
Pods in the ASK clusters are ECI pods. Dynamically provisioned volumes cannot be mounted to pods because ECI does not support privileged permissions.