我需要一个可从多个容器访问的共享卷,以便将文件缓存在每个节点上的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没有的任何原因。也许可以,但这并不明显?
我尝试使用local
和hostPath
和mountOptions
PV玩游戏,但这没用。
答案 0 :(得分:1)
EmtpyDir与Pod的生存期相关,因此不能通过与多个Pod共享使用。 您所要求的是附加功能,如果您在下面的github讨论中查看,您会发现您并不是第一个要求此功能的人。
consider a tmpfs storage class
另外,您提到docker supports this tmpfs volume
,是的,它支持,但是您不能在容器之间共享此卷。来自Documentation
tmpfs挂载的限制:
与卷和绑定挂载不同,您不能 在容器之间共享tmpfs挂载。