目前阿里云容器服务ACK(Alibaba Cloud Container Service for Kubernetes)集群支持两种存储插件Flexvolume和CSI。本文介绍两种存储插件特性及如何选择合适的存储插件。

Flexvolume和CSI存储插件的区别

插件名称 插件特性 参考文档
Flexvolume Flexvolume插件是Kubernetes社区较早实现的存储卷扩展机制。ACK从上线起,即支持Flexvolume类型数据卷服务。Flexvolume插件包括以下三部分。
  • Flexvolume:负责数据卷的挂载、卸载功能。ACK默认提供云盘、NAS、OSS三种存储卷的挂载能力。
  • Disk-Controller:负责云盘卷的自动创建能力。
  • Nas-Controller:负责NAS卷的自动创建能力。

有关Flexvolume的详细概述,请参见Flexvolume概述

有关如何升级Flexvolume存储插件,请参见管理组件

CSI CSI插件是当前Kubernetes社区推荐的插件实现方案。ACK集群提供的CSI存储插件兼容社区的CSI特性。CSI插件包括以下两部分:
  • CSI-Plugin:实现数据卷的挂载、卸载功能。ACK默认提供云盘、NAS、OSS三种存储卷的挂载能力。
  • CSI-Provisioner:实现数据卷的自动创建能力,目前支持云盘、NAS两种存储卷创建能力。

有关CSI的详细概述,请参见CSI概述alibaba-cloud-csi-driver

有关如何升级CSI存储插件,请参见CSI存储插件升级指南

使用推荐

  • 针对新建集群,推荐您使用CSI插件。ACK会跟随社区持续更新CSI插件的各种能力。
  • 针对已经创建的集群,仍然使用已经安装的存储插件类型。ACK会持续支持Flexvolume插件。

使用须知

  • 在创建集群的时候确定插件类型。
  • 不支持Flexvolume和CSI插件在同一个集群中使用。
  • 不支持Flexvolume转变到CSI插件。