Kubernetes:Pod之间共享的内存中卷

时间:2019-03-11 01:03:23

标签: linux docker kubernetes tmpfs

我需要一个可从多个容器访问的共享卷,以便将文件缓存在每个节点上的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没有的任何原因。也许可以,但这并不明显?

我尝试使用localhostPathmountOptions PV玩游戏,但这没用。

1 个答案:

答案 0 :(得分:1)

EmtpyDir与Pod的生存期相关,因此不能通过与多个Pod共享使用。 您所要求的是附加功能,如果您在下面的github讨论中查看,您会发现您并不是第一个要求此功能的人。

consider a tmpfs storage class

另外,您提到docker supports this tmpfs volume,是的,它支持,但是您不能在容器之间共享此卷。来自Documentation

  

tmpfs挂载的限制:

     

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