我需要一个可从多个Pod访问的共享卷,以便将文件缓存在每个节点上的RAM中。

问题在于emptyDir规范中提供了Memory卷供应器(它支持medium作为其Volume),但在PersistentVolume规范中不可用。

除了通过在每个主机上手动创建tmpfs卷并通过PV规范中的localhostPath设置程序将其安装之外,是否有其他方法可以实现此目的?

请注意,Docker本身支持以下卷:

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

我看不出k8s没有的任何原因。也许可以,但这并不明显?

我尝试将localhostPath PV与mountOptions一起玩,但是没有用。

最佳答案

EmtpyDir与Pod的生命周期息息相关,因此不能与多个Pod共享使用。
您所要求的是附加功能,如果您在下面的github讨论中查看,您会发现您不是第一个要求此功能的人。
consider a tmpfs storage class
同样根据您的提及docker supports this tmpfs volume,是的,它支持,但是您不能在容器之间共享此卷。从Documentation

10-06 13:04