8.3. 定义存储类
StorageClass
对象目前是一个全局范围的对象,必须由 cluster-admin
或 storage-admin
用户创建。
根据使用的平台,Cluster Storage Operator 可能会安装一个默认的存储类。此存储类由 Operator 拥有和控制。不能在定义注解和标签之外将其删除或修改。如果需要实现不同的行为,则必须定义自定义存储类。
以下小节描述了 StorageClass
对象的基本定义,以及每个支持的插件类型的具体示例。
8.3.1. 基本 StorageClass 对象定义 复制链接链接已复制到粘贴板!
以下资源显示了用来配置存储类的参数和默认值。这个示例使用 AWS ElasticBlockStore (EBS) 对象定义。
StorageClass
定义示例
8.3.2. 存储类注解 复制链接链接已复制到粘贴板!
要将存储类设置为集群范围的默认值,请在存储类元数据中添加以下注解:
storageclass.kubernetes.io/is-default-class: "true"
storageclass.kubernetes.io/is-default-class: "true"
例如:
这允许任何没有指定特定存储类的持久性卷声明(PVC)通过默认存储类自动置备。但是,您的集群可以有多个存储类,但只有其中一个是默认存储类。
beta 注解 storageclass.beta.kubernetes.io/is-default-class
当前仍然可用,但将在以后的版本中被删除。
要设置存储类描述,请在存储类元数据中添加以下注解:
kubernetes.io/description: My Storage Class Description
kubernetes.io/description: My Storage Class Description
例如:
8.3.3. AWS Elastic Block Store (EBS) 对象定义 复制链接链接已复制到粘贴板!
aws-ebs-storageclass.yaml
8.3.4. GCE PersistentDisk (gcePD) 对象定义 复制链接链接已复制到粘贴板!
gce-pd-storageclass.yaml