emptyDir
一个emptyDir Volume是在Pod分配到Node时创建的。
它的初始内容为空,并且无须指定宿主机上对应的目录文件,因为这是Kubernetes自动分配的一个目录;
当Pod从Node上移除时,emptyDir中的数据也会被永久删除。
emptyDir的一些用途如下:
临时空间,例如用于某些应用程序运行时所需的临时目录,且无须永久保留。
长时间任务的中间过程CheckPoint的临时保存目录。
Pod中的不同Container共享数据。 比如一个Pod存在两个容器A和B,容器A需要使用容器B产生的数据,此时可以采用emptyDir共享数据,一个容器需要从另一个容器中获取数据的目录(多容器共享目录)
默认情况下,emptyDir支持节点上的任何介质,可能是SSD、磁盘或网络存储,具体取决于自身的环境。可以将emptyDir.medium字段设置为Memory,让Kubernetes使用tmpfs(内存支持的文件系统),虽然tmpfs非常快,但是tmpfs在节点重启时,数据同样会被清除,并且设置的大小会被计入Container的内存限制中。
示例
此部署文件创建一个Pod,采用 spec.volumes 字段配置了一个名字为share-volume、类型为emptyDir的Volume,同时里面包含两个容器nginx和redis,并将该Volume挂载到了/opt和/mnt目录下,此时/opt和/mnt目录的数据就实现了共享。
最后更新于
这有帮助吗?