StorageClass存储类用于描述集群中可以提供的存储的类型。不同的存储类可能对应着不同的:
- 服务等级
- 备份策略
- 集群管理员自定义的策略
Kubernetes自身对存储类所代表的含义并无感知,由集群管理员自行约定。
这儿展示一个我自己定义的StorageClass:
|
|
存储类的种类
Kubernetes提供19种存储类Provisioner,但是绝大多数与具体的云环境相关,如AWSElasticBlockStore/AzureFile/AzureDisk/GCEPersistentDisk等(这部分知识可以拓展视野)。
回收策略
由StorageClass动态创建的PersistentVolume将使用StorageClass中定义的回收策略。可选项有:
- 回收后删除Delete
- 回收后保留Retain
同一StorageClass中,手动创建的PersistentVolume,将使用创建时手动指定的回收策略。
存储卷绑定模式
StorageClass根据存储卷绑定模式的选项,确定何时执行存储卷和存储卷声明的绑定,何时执行动态存储卷提供(动态创建存储卷)(这个翻译的好奇怪啊)。可选项有:
-
即刻绑定Immediate
存储卷声明创建后,立刻动态创建存储卷并将其绑定到存储卷声明。
-
首次使用时绑定 WaitForFirstConsumer
直到存储卷声明第一次被容器组使用时,才创建存储卷,并将其绑定到存储卷声明。