Kubernetes挂载可以指定多种类型的volume,这篇文章聊一下hostPath和emptyDir两种volume的区别。
hostPath类型是将宿主机的目录或者文件挂载到容器中,这样容器写入和读取的数据是直接反映在宿主机上的,这种方式产生的数据可以在不同pod之间共享,并且在删除pod之后因为数据是和宿主机相关的,所以数据仍然存在。
emptyDir类型会随着pod一起创建一个volume,emptyDir类型的volume对于宿主机来说算是临时卷,这种卷会在删除pod时一起删除,相当于emptyDir类型的volume的生命周期和对应的pod相同,并且这些数据只能是在对应的pod内部的容器间共享,不能跨pod访问,另外emptyDir类型的volume可以使用medium: Memory字段声明将该volume中的数据存储在内存而非磁盘中。