0
点赞
收藏
分享

微信扫一扫

Kubernetes 学习03 容器持久化存储

PV 描述的,是持久化存储数据卷。这个 API 对象主要定义的是一个持久化存储在宿主机上的目录,比如一个 NFS 的挂载目录。

Kubernetes 学习03 容器持久化存储_字段

Kubernetes 学习03 容器持久化存储_字段_02

Kubernetes 学习03 容器持久化存储_字段_03

Kubernetes 学习03 容器持久化存储_面向对象_04

Pod 需要做的,就是在 volumes 字段里声明自己要使用的 PVC 名字。接下来,等这个 Pod 创建之后,kubelet 就会把这个 PVC 所对应的 PV,也就是一个 NFS 类型的 Volume,挂载在这个 Pod 容器内的目录上

PVC 和 PV 的设计,其实跟“面向对象”的思想完全一致。

PVC 可以理解为持久化存储的“接口”,它提供了对某种持久化存储的描述,但不提供具体的实现;而这个持久化存储的实现部分则由 PV 负责完成。

Kubernetes 学习03 容器持久化存储_字段_05

Kubernetes 学习03 容器持久化存储_持久化存储_06

虚拟机挂载远程磁盘的操作,对应的正是“两阶段处理”的第一阶段。在 Kubernetes 中,我们把这个阶段称为 Attach。

将磁盘设备格式化并挂载到 Volume 宿主机目录的操作,对应的正是“两阶段处理”的第二个阶段,我们一般称为:Mount。

Kubernetes 学习03 容器持久化存储_持久化存储_07

关于 PV 的“两阶段处理”流程,是靠独立于 kubelet 主控制循环(Kubelet Sync Loop)之外的两个控制循环来实现的

Kubernetes 学习03 容器持久化存储_面向对象_08

Kubernetes 只会将 StorageClass 相同的 PVC 和 PV 绑定起来

Kubernetes 学习03 容器持久化存储_字段_09

举报

相关推荐

0 条评论