Kubernetes 通过数据持久化来持久化保存重要数据,常见的方式有:
EmptyDir(空目录):没有指定要挂载宿主机上的某个目录,直接由Pod内保部映射到宿主机上。类似于docker中的manager volume。
场景:
作为两个容器的共享存储。
只需要临时将数据保存在磁盘上,比如在合并/排序算法中;
特性:
emptyDir的数据持久化的生命周期和使用的pod一致,一般是作为临时存储使用。
同个pod里面的不同容器,共享同一个持久化目录,当pod节点删除时,volume的数据也会被删除。
Hostpath:将宿主机上已存在的目录或文件挂载到容器内部。类似于docker中的bind mount挂载方式。
特性:增加了pod与节点之间的耦合。
PersistentVolume(简称PV):如基于NFS服务的PV,也可以基于GFS的PV。它的作用是统一数据持久化目录,方便管理。