动态卷供应

    动态卷供应的实现基于 storage.k8s.io API 组中的 StorageClass API 对象。 集群管理员可以根据需要定义多个 StorageClass 对象,每个对象指定一个卷插件(又名 provisioner), 卷插件向卷供应商提供在创建卷时需要的数据卷信息及相关参数。

    集群管理员可以在集群中定义和公开多种存储(来自相同或不同的存储系统),每种都具有自定义参数集。 该设计也确保终端用户不必担心存储供应的复杂性和细微差别,但仍然能够从多个存储选项中进行选择。

    点击查阅有关存储类的更多信息。

    以下清单创建了一个 “fast” 存储类,它提供类似 SSD 的永久磁盘。

    用户通过在 中包含存储类来请求动态供应的存储。 在 Kubernetes v1.6 之前,这通过 volume.beta.kubernetes.io/storage-class 注解实现。然而,这个注解自 v1.6 起就不被推荐使用了。 用户现在能够而且应该使用 PersistentVolumeClaim 对象的 storageClassName 字段。 这个字段的值必须能够匹配到集群管理员配置的 StorageClass 名称(见下面)。

    例如,要选择 “fast” 存储类,用户将创建如下的 PersistentVolumeClaim:

    可以在群集上启用动态卷供应,以便在未指定存储类的情况下动态设置所有声明。 集群管理员可以通过以下方式启用此行为:

    • 确保 在 API 服务端被启用。

    管理员可以通过向其添加 注解来将特定的 StorageClass 标记为默认。 当集群中存在默认的 StorageClass 并且用户创建了一个未指定 storageClassNamePersistentVolumeClaim 时, DefaultStorageClass 准入控制器会自动向其中添加指向默认存储类的 storageClassName 字段。

    请注意,群集上最多只能有一个 默认 存储类,否则无法创建没有明确指定 的 PersistentVolumeClaim