k8s存储方式

Posted _雪辉_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s存储方式相关的知识,希望对你有一定的参考价值。

文章目录

一、临时存储

  当pod的存储方案设定为emptydir的时候,pod启动时就会在pod所在节点的磁盘空间开辟出一块空卷,pod启动后容器产生的数据会存放到那个空卷中,供pod内的容器读取和写入数据,一旦pod容器消失,节点上开辟出的这个临时空间就会随着pod销毁。

二、半持久化存储

  hostpath类型则是映射node文件系统中的文件或者目录到pod里。因为在k8s中pod会漂移,当pod漂移到其他node节点的时候,pod不会跨节点的去读取目录。所以说是一种半持久化的存储方式

三、持久化存储

  PV是集群中的一块存储,是集群资源,是持久化存储,对存储资源进行抽象。和普通的 Volume 一样,也是使用卷插件来实现的,只是它们拥有独立于任何使用 PV 的 Pod 的生命周期。

  PVC是用户对存储的请求。概念上与 Pod 类似。 Pod 会耗用节点资源,而 PVC 申领会耗用 PV 资源。Pod 可以请求特定数量的资源(CPU 和内存);同样 PVC 可以请求特定的大小和访问模式。

PV、PVC生命周期
Provisioning ——-> Binding ——–>Using——>Releasing——>Recycling

  • Provisioning—通过集群外的存储系统或者云平台来提供存储持久化支持。

    • 静态提供 Static:创建多个 PV,它们携带可供集群用户使用的真实存储的详细信息。

    • 动态提供 Dynamic:当创建的静态 PV 都不匹配用户的PVC时,集群可能会尝试为 PVC 动态配置卷。 此配置PVC 必须请求一个类,并且必须已创建并配置该类才能进行动态配置。

  • Binding—创建 pvc 并指定需要的资源和访问模式。在找到可用 pv 之前,pvc 会保持未绑定状态。

  • Using—可在 pod 中像 volume一样使用 pvc。

  • Releasing—删除 pvc 来回收存储资源,pv 将变成“released”状态。由于还保留着之前的数据,这些数据需要根据不同的策略来处理,否则这些存储资源无法被其他 pvc 使用。

  • Recycling—pv 可以设置三种回收策略:保留(Retain),回收(Recycle)和删除 (Delete)。

    • 保留策略:允许人工处理保留的数据。
    • 删除策略:将删除 pv 和外部关联的存储资源,需要插件支持。
    • 回收策略:将执行清除操作,之后可以被新的 pvc 使用,需要插件支持

以上是关于k8s存储方式的主要内容,如果未能解决你的问题,请参考以下文章

k8s存储方式

k8s之存储

如何进行K8S存储系统

C语言进阶—— 动态内存开辟+柔性数组

9. K8s存储

深入剖析k8s中的存储