千家信息网

如何解析Kubernetes中的StorageClass和动态卷供给

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,如何解析Kubernetes中的StorageClass和动态卷供给,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。存储是容器运行环境的重
千家信息网最后更新 2025年12月02日如何解析Kubernetes中的StorageClass和动态卷供给

如何解析Kubernetes中的StorageClass和动态卷供给,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

存储是容器运行环境的重要一环,Kubernetes 提供了一些用于存储管理的基础能力。动态卷供给是一个 Kubernetes 独有的功能,这一功能允许按需创建存储卷。在没有这种能力之前,集群管理员需要打电话给他们的云或者存储提供者来创建新的存储卷,成功以后再创建 PersistentVolume对象,才能够在 Kubernetes 中使用。动态卷供给能力让管理员不必进行预先创建存储卷,而是随用户需求进行创建。

新特性

Alpha 版本的动态卷,一个集群同时只能允许单独的、被硬编码的提供者。也就是说,如果 Kubernetes 要提供动态卷的时候,即使集群中可以使用多个存储系统,Kubernetes 也只会使用同一个存储卷插件。存储提供者的选型是基于云环境类型决定的 -- AWS 的 EBS,Google Cloud 的 Persistent Disk 或者是 OpenStack 的 Cinder,以及 vSphere 的 vSphere Volume。另外只有容量参数可以配置。这就意味着,即使有其他参数可用,所有的动态卷除了尺寸大小,其他都是一样的。

虽说这一功能的 Alpha 版本实用性有限,这毕竟是迈出了一步,有助于确定今后的发展方向。

Kubernetes 1.4 中加入了一个 新的 API 对象 StorageClass,可以定义多个 StorageClass 对象,并可以分别指定存储插件、设置参数,用于提供不同的存储卷。这样的设计让集群管理员能够在同一个集群内,定义和提供不同类型的、不同参数的卷(相同或者不同的存储系统)。这样的设计还确保了最终用户在无需了解太多的情况下,有能力选择不同的存储选项。

管理员配置

集群管理员定义并发布了两个 StorageClass 对象

kind: StorageClassapiVersion: storage.k8s.io/v1beta1metadata:  name: slowprovisioner: kubernetes.io/gce-pdparameters:  type: pd-standard

这一段创建了一个名为 "slow" 的 StorageClass,用于提供标准的持久存储。

kind: StorageClassapiVersion: storage.k8s.io/v1beta1metadata:  name: fastprovisioner: kubernetes.io/gce-pdparameters:  type: pd-ssd

这一段创建了一个名为 "fast" 的 StorageClass,用于提供类似 SSD 的持久存储。

用户请求

用户在 PersistentVolumeClaim 中可以包含一个 StorageClass 申请动态提供存储。这一任务需要使用 volume.beta.kubernetes.io/storage-class 注解来完成。这一注解的值必须符合管理员配置的 StorageClass 名称。

要选择 "fast" 存储类,用户需要创建如下的 PVC:

 {  "kind": "PersistentVolumeClaim",  "apiVersion": "v1",  "metadata": {    "name": "claim1",    "annotations": {        "volume.beta.kubernetes.io/storage-class": "fast"    }  },  "spec": {    "accessModes": [      "ReadWriteOnce"    ],    "resources": {      "requests": {        "storage": "30Gi"      }    }  }}

上述报文会提供一个等效于 SSD 的持久盘,当这个 PVC 被删除,这个卷也随之销毁。

缺省行为

所有的 PVC 都可以在不使用 StorageClass 注解的情况下,直接使用某个动态存储。把一个StorageClass 对象标记为 "default" 就可以了。StorageClass 用注解storageclass.beta.kubernetes.io/is-default-class 就可以成为缺省存储。

有了缺省的 StorageClass,用户创建 PVC 就不用 storage-class 的注解了,1.4 中新加入的DefaultStorageClass 准入控制器会自动把这个标注指向缺省存储类。

我还能使用 Alpha 版本么?

Kubernetes 1.4 兼容 alpha 版本的动态卷特性,让用户能够平滑过渡到 beta 版本。用volume.alpha.kubernetes.io/storage-class 注解来标注 alpha 版本。

标准云支持

如果 Kubernetes 集群部署在云服务商,我们 考虑 自动使用云的本地存储系统创建一个动态卷供给者。例如在 AWS 上的标准部署会得到一个 EBS 的动态卷供给,而 Google Cloud 的部署则会提供一个 GCE PD 动态卷供应者。我们还在讨论是否应该把这种卷作为缺省卷。

看完上述内容,你们掌握如何解析Kubernetes中的StorageClass和动态卷供给的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

存储 动态 用户 管理 供给 注解 版本 管理员 集群 不同 对象 参数 能力 功能 提供者 标准 系统 配置 内容 多个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机网络安全重大事件 国家网络安全宣传片高清 软件开发项目监理文档 c语言合法数据库关键字 软件开发与实施控制程序 软件开发计划国标实例 威科仲裁数据库 关注网络安全文学稿600字 怎么写专利申请 网络技术 计算机网络技术专业大一 程序软件开发费用 天猫精灵是用的哪里的服务器 网络安全自查自纠照片 学校宣传网络安全报道 日照智慧党建软件开发专业制作 cisco网络技术课程 wpf 跨线程 更新数据库 有没有软件可以抓取数据库 逆水寒两周年服务器总评分第一 翼道服务器安装centos系统 sql数据库查看备份设备 数据库防窜货系统技术 贵州移动服务器虚拟主机 怎么运营好一个服务器我的世界 百奥网络技术有限公司 国开数据库基础与应用自测 闵行区节能软件开发销售公司 初中毕业网络安全好吗 波音在软件开发商错在哪里 数据库主体是什么形状
0