2

我需要一个可从多个 pod 访问的共享卷,用于在每个节点的 RAM 中缓存文件。

问题是emptyDir卷配置器(支持Memory它的medium)在规范中可用,Volume但在PersistentVolume规范中不可用。

有没有办法实现这一点,除了tmpfs在每个主机上手动创建一个卷并通过PV 规范中的配置local程序安装它?hostPath

请注意,Docker 本身支持这样的卷:

docker volume create --driver local --opt type=tmpfs --opt device=tmpfs \
       --opt o=size=100m,uid=1000 foo

我看不出k8s没有的任何原因。或者也许确实如此,但并不明显?

我试过玩localhostPathPV,mountOptions但没有用。

4

1 回答 1

1

EmtpyDir 与 pod 的生命周期相关联,因此不能通过与多个 pod 共享的方式使用。您要求的是附加功能,如果您查看下面的 github 讨论,您会发现您不是第一个要求此功能的人。

考虑一个 tmpfs 存储类

同样根据您的提及docker supports this tmpfs volume,是的,它支持,但是您不能在容器之间共享此卷。从文档

tmpfs 挂载的限制:

与卷和绑定挂载不同,您不能在容器之间共享 tmpfs 挂载。

于 2019-03-14T13:41:58.837 回答