kubernetes卷:复制的pod之间有一个共享卷和一个专用卷

时间:2020-02-04 13:09:03

标签: kubernetes kubernetes-pod

我是Kubernetes的新手,正在学习它。 具有部署类型的pods和replcas = 3。

有什么方法可以为每个吊舱分别安装一个卷,为所有吊舱分别安装一个卷。 要求:

情况1-我的应用程序正在生成一些临时文件名tempfile.txt,因此有三个副本容器,每个副本容器都会生成tempfile.txt,但内容可能有所不同。因此,如果我使用将相互覆盖的共享卷。
情况2:我有一个不属于映像的通用文件,该文件将由启动应用程序的所有Pod使用,即将文件从主机复制到所有Pod的容器中

预先感谢。

1 个答案:

答案 0 :(得分:0)

有多种方法可以实现第一部分。这是我的:

使用statefulSet而不是部署来创建副本。 statefulSets允许您包括每个吊舱已与其一起创建的卷模板,因此每个新吊舱将为其专门创建一个新的PV。

这确实需要您的集群允许使用dynamically provisioned volumes

根据tempfile.txt的大小,用例和群集/节点配置,您可能还需要考虑使用hostPath volume,它将使用节点的本地存储。

对于问题的第二部分,可以使用任何readWriteMany卷(例如任何NFS选项)。

关于subPath的注释,只要为每个吊舱定义了不同的subPath,这也应该起作用。 DT提供的链接中的示例通过基于容器名称创建子路径来实现此目的。

相关问题