28-PV&PVC

Persistent Volume Claim(PVC)和 Persistent Volume(PV)

持久卷声明和持久卷

 

Pod绑定PVCPVC绑定PV,达到Pod绑定使用PV的目的;

PV是全局的,属于Cluster,没有命名空间;

Deployment不认识PVC模板;只有StatefulSet才会编号PVC

 

环境上可能有成千上万个PVC,这就意味着运维人员需要去创建PV。手工是不可能的;

所以有了Storage Class,作为创建PV的模板;

Pod——PVC——Storage Class——PV

 

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

 

容器持久化存储,总结一下整体流程。

【用户提交请求创建pod,Kubernetes发现这个pod声明使用了PVC,那就靠PersistentVolumeController帮它找一个PV配对。

没有现成的PV,就去找对应的StorageClass,帮它新创建一个PV,然后和PVC完成绑定。

新创建的PV,还只是一个API 对象,需要经过“两阶段处理”变成宿主机上的“持久化 Volume”才真正有用:
第一阶段由运行在master上的AttachDetachController负责,为这个PV完成 Attach 操作,为宿主机挂载远程磁盘;
第二阶段是运行在每个节点上kubelet组件的内部,把第一步attach的远程磁盘 mount 到宿主机目录。这个控制循环叫VolumeManagerReconciler,运行在独立的Goroutine,不会阻塞kubelet主循环。

完成这两步,PV对应的“持久化 Volume”就准备好了,POD可以正常启动,将“持久化 Volume”挂载在容器内指定的路径。】

28-PV&PVC

上一篇:字幕文件srt处理之pysrt


下一篇:DKMS动态内核模块支持-升级内核自动加载驱动