存储概述
基于Kubernetes社区的存储插件(CSI和Flexvolume),阿里云提供了相关组件,可以实现自建Kubernetes使用阿里云存储服务,包括云盘、文件存储NAS和对象存储OSS。
云存储介绍
阿里云提供针对各种存储资源(块、文件和对象)的低成本、高可靠、高可用的存储服务,您可以根据业务负载的存储需求,考虑数据量、数据访问频率、IOPS和吞吐量等因素,来选择合适的云存储服务。常用的云存储服务如下:
云盘
一种数据块级别的块存储产品,采用分布式多副本机制,具有低时延、高性能、持久性、高可靠等性能,可以随时创建、扩容以及释放。更多信息,请参见云盘概述。
文件存储NAS
一种可共享访问、弹性扩展、高可靠以及高性能的分布式文件系统,支持NFS和SMB协议。更多信息,请参见文件存储NAS概述。
对象存储OSS
一个海量、安全、低成本、高可靠的存储空间,适合存储非结构化数据(如图片、音视频等)。更多信息,请参见对象存储OSS概述。
三者的对比如下表所示:
对比项 | 云盘 | 文件存储NAS | 对象存储OSS |
---|---|---|---|
时延 | 极低时延(微秒级) | 低时延(毫秒级) | 较低时延(几十毫秒级) |
吞吐 | 数十Gbps | 数百Gbps | 数百Gbps |
访问模式 | 单个客户端通过POSIX接口访问,随机读写。 | 上千个客户端通过POSIX接口并发访问,随机读写。 | 数百万个客户端通过Web并发,追加写。 |
挂载方式 | 非共享存储,一个云盘只能挂载到一个Pod。 | 共享存储,一个NAS文件系统可以挂载到多个Pod。 | 共享存储,一个OSS Bucket可以挂载到多个Pod。 |
更多信息,请参见阿里云存储服务。
存储插件说明
根据您的Kubernetes集群版本,您可以选择使用CSI或者Flexvolume插件来使用阿里云的存储服务。相关说明如下:
Kubernetes将在1.22版本后不再支持FlexVolume,如果您的集群版本高于1.16版本,推荐使用CSI。
如果您的集群版本为1.16及之前版本,则不支持使用CSI,可以使用Flexvolume。
不支持Flexvolume和CSI在同一个集群中使用。