我们想部署一个使用带有水平Pod自动缩放功能的docker和kubernetes来利用内存缓存的应用程序,但我们不知道Pod中的容器化应用程序是否会使用相同的缓存,因为无法保证如果使用自动缩放器缩放,则pod会位于同一节点中。
我尝试搜索有关kubernetes集群上缓存的信息,而我发现的只是Medium article中的一条声明
中的句子所有节点的CPU和RAM资源均由集群有效地池化和管理
Pod中的容器共享相同的IPC名称空间,这意味着它们还可以使用标准的进程间通信(例如SystemV信号量或POSIX共享内存)相互通信。
但是我找不到关于有权访问同一缓存的不同节点中的pod的任何信息。这些都是在第3方网站上,而不是在kubernetes官方网站上。
我希望缓存在所有节点中的所有pod之间共享,但是我只想确认此事。
答案 0 :(得分:1)
否,即使在同一物理节点上运行,单独的Pod通常也不共享任何内容。如果您非常非常谨慎和喜欢,可以通过多种方法解决此问题,但是主意是使pod始终独立。在单个Pod中,您可以使用普通的shmem更加容易,但这很少见,因为通常没有太多理由这样做。