全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

k8s数据持久化的方式有哪些?

发布时间:2022-09-23 16:13:27
发布人:wjy

  EmptyDir(空目录):

  没有指定要挂载宿主机上的某个目录,直接由Pod内保部映射到宿主机上。类似于docker中的manager volume。

  主要使用场景:

  1. 只需要临时将数据保存在磁盘上,比如在合并/排序算法中;

  2. 作为两个容器的共享存储,使得个内容管理的容器可以将生成的数据存入其中,同时由同一个webserver容器对外提供这些页面。

  emptyDir的特性:同个pod里面的不同容器,共享同一个持久化目录,当pod节点删除时,volume的数据也会被删除。如果仅仅是容器被销毁,pod还在,则不会影响volume中的数据。

  总结来说:emptyDir的数据持久化的生命周期和使用的pod一致。一般是作为临时存储使用。

k8s数据持久化的方式有哪些?

  Hostpath:

  将宿主机上已存在的目录或文件挂载到容器内部。类似于docker中的bind mount挂载方式。

  这种数据持久化方式,运用场景不多,因为它增加了pod与节点之间的耦合。

  一般对于k8s集群本身的数据持久化和docker本身的数据持久化会使用这种方式,可以自行参考apiService的yaml文件,位于:/etc/kubernetes/main…目录下。

  PersistentVolume(简称PV):

  基于NFS服务的PV,也可以基于GFS的PV。它的作用是统一数据持久化目录,方便管理。

  在一个PV的yaml文件中,可以对其配置PV的大小,

  指定PV的访问模式:

  1. ReadWriteOnce:只能以读写的方式挂载到单个节点;

  2. ReadOnlyMany:能以只读的方式挂载到多个节点;

  3. ReadWriteMany:能以读写的方式挂载到多个节点。

  以及指定pv的回收策略(这里的回收策略指的是在PV被删除后,在这个PV下所存储的源文件是否删除):

  1. recycle:清除PV的数据,然后自动回收;

  2. Retain:需要手动回收;

  3. delete:删除云存储资源,云存储专用;

  若需使用PV,那么还有一个重要的概念:PVC,PVC是向PV申请应用所需的容量大小,K8s集群中可能会有多个PV,PVC和PV若要关联,其定义的访问模式必须一致。定义的storageClassName也必须一致,若群集中存在相同的(名字、访问模式都一致)两个PV,那么PVC会选择向它所需容量接近的PV去申请,或者随机申请。

相关文章

机器学习中Inference和predict的区别是什么?

机器学习中Inference和predict的区别是什么?

2023-10-15
kd-tree和ball-tree在算法实现原理上有什么区别?

kd-tree和ball-tree在算法实现原理上有什么区别?

2023-10-15
nn.Linear()和nn.Embedding()有什么区别?

nn.Linear()和nn.Embedding()有什么区别?

2023-10-14
敏捷开发和迭代式开发的根本区别是什么?

敏捷开发和迭代式开发的根本区别是什么?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取