Files
kuboard-press/learning/k8s-intermediate/persistent/storage-class.md
huanqing.shao c0cdcc0de0 v3.1.1.0
2021-04-05 13:09:28 +08:00

2.8 KiB
Raw Blame History

vssueId, layout, description, meta
vssueId layout description meta
61 LearningLayout Kubernetes教程_本文介绍了存储类的概念及其使用
name content
keywords Kubernetes教程,K8S教程,存储类,StorageClass

存储类StorageClass

参考文档: Kubernetes Storage Classes

存储类概述

StorageClass 存储类用于描述集群中可以提供的存储的类型。不同的存储类可能对应着不同的:

  • 服务等级quality-of-service level
  • 备份策略
  • 集群管理员自定义的策略

Kubernetes 自身对存储类所代表的含义并无感知,由集群管理员自行约定。

存储类的种类

参考 Storage ClassesKubernetes 提供 19 种存储类 Provisioner但是绝大多数与具体的云环境相关如 AWSElasticBlockStore / AzureFile / AzureDisk / GCEPersistentDisk 等。

Kuboard 支持的存储类的种类如下:

  • NFS
  • CephFS
    • Kuboard 版本不低于 v2.0.5-beta.5

::: tip 使用Kuboard “不支持”的存储类 对于那些目前Kuboard不支持的存储类

  • 使用yaml文件在kubectl中创建存储类
  • 在Kuboard中创建存储卷声明时仍然可以引用这些存储类

这里所说的Kuboard不支持的存储类仅仅是说Kuboard中不能直接创建和编辑这种类型的存储类。 :::

::: tip NFS权限问题 许多网友自己搭建 NFS 测试环境,再创建 NFS存储类经常碰到 access denied 这类权限问题。为了帮助大家更快地完成 NFS 测试环境搭建Kuboard提供了一篇NFS相关的简明文档请参考 搭建NFS Server :::

存储类

在 Kuboard 中查看存储类,如下图所示:

Kubernetes教程:在Kuboard中查看存储类

回收策略 Reclaim Policy

由 StorageClass 动态创建的 PersistentVolume 将使用 StorageClass 中定义的回收策略。可选项有:

  • 回收后删除 Delete
  • 回收后保留 Retain

同一 StorageClass 中,手动创建的 PersistentVolume将使用创建时手动指定的回收策略。

存储卷绑定模式 Volume Binding Mode

StorageClass 根据存储卷绑定模式的选项,确定何时执行 存储卷与存储卷声明的绑定、何时执行动态存储卷提供(动态创建存储卷)。可选项有:

  • 即刻绑定 Immediate

    存储卷声明创建后,立刻动态创建存储卷并将其绑定到存储卷声明。

  • 首次使用时绑定 WaitForFirstConsumer

    直到存储卷声明第一次被容器组使用时,才创建存储卷,并将其绑定到存储卷声明。