应用存储与持久化数据卷

1、PV 引入场景:

① Deployment 管理的 pod,在做镜像升级的过程中,会产生新的 pod并且删除旧的 pod ,新旧 pod 之间如何复用数据?

宿主机宕机的时候,如何实现带卷迁移?

多个 pod 之间,如果想要共享数据,应该如何去声明?

2、PV 和 PVC 概念:

PV(持久卷):PV 独立于 Pod 存在,是集群中的一块网络存储资源。

PVC(持久卷声明):PVC是用户请求存储的一种方式,定义了所需存储的属性,例如存储大小和访问模式。

( PV是实际的存储资源 ;PVC是用户对存储资源的需求描述 )

3、PV 产生方式:

(1) 静态产生方式 - 静态 Provisioning:

静态 Provisioning:由集群管理员事先去规划这个集群中的用户会怎样使用存储,它会先预先创建一些 PV;然后用户提交自己的存储需求(也就是 PVC)的时候,K8s 内部相关组件会帮助它把 PVC 和 PV 做绑定 ;之后用户再通过 pod 去使用存储的时候,就可以通过 PVC 找到相应的 PV。

(2) 动态 Dynamic Provisioning:

集群管理员不预分配 PV,而是写了一个模板文件,这个模板文件是用来表示创建某一类型存储(块存储,文件存储等)所需的一些参数。用户只需要提交自身的存储需求,也就是 PVC 文件,并在 PVC 中指定使用的存储模板(StorageClass)。

K8s 集群中的管控组件,会结合 PVC 和 StorageClass 的信息动态,生成用户所需要的存储(PV),将 PVC 和 PV 进行绑定后,pod 就可以使用 PV 了。通过 StorageClass 配置生成存储所需要的存储模板,再结合用户的需求动态创建 PV 对象,做到按需分配。

4、PV Spec 重要字段解析:

Capacity:存储对象的大小;

AccessModes使用这个 PV 的方式,它有三种:

  • 一种是单 node 读写访问;
  • 第二种是多个 node 只读访问,是常见的一种数据的共享方式;
  • 第三种是多个 node 上读写访问。

ReclaimPolicy用户方 PV 的 PVC 在删除之后, PV 应该做如何处理?

  • delete,也就是说 PVC 被删除之后,PV 也会被删除;
  • Retain,就是保留,保留之后,后面这个 PV 需要管理员来手动处理。

5、PV 流转状态:

首先在创建 PV 对象后,它会处在短暂的pending 状态;等真正的 PV 创建好之后,它就处在 available 状态。

available 状态意思就是可以使用的状态,用户在提交 PVC 之后,被 K8s 相关组件做完 bound(即:找到相应的 PV),这个时候 PV 和 PVC 就结合到一起了,此时两者都处在 bound 状态。

当用户在使用完 PVC,将其删除后,这个 PV 就处在 released 状态,之后它应该被删除还是被保留呢就会依赖 ReclaimPolicy。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值