我是Kubernetes的新手,正在学习它。 具有部署类型的pods和replcas = 3。
有什么方法可以为每个吊舱分别安装一个卷,为所有吊舱分别安装一个卷。 要求:
情况1-我的应用程序正在生成一些临时文件名tempfile.txt,因此有三个副本容器,每个副本容器都会生成tempfile.txt,但内容可能有所不同。因此,如果我使用将相互覆盖的共享卷。
情况2:我有一个不属于映像的通用文件,该文件将由启动应用程序的所有Pod使用,即将文件从主机复制到所有Pod的容器中
预先感谢。
答案 0 :(得分:0)
有多种方法可以实现第一部分。这是我的:
使用statefulSet而不是部署来创建副本。 statefulSets允许您包括每个吊舱已与其一起创建的卷模板,因此每个新吊舱将为其专门创建一个新的PV。
这确实需要您的集群允许使用dynamically provisioned volumes。
根据tempfile.txt的大小,用例和群集/节点配置,您可能还需要考虑使用hostPath
volume,它将使用节点的本地存储。
对于问题的第二部分,可以使用任何readWriteMany卷(例如任何NFS选项)。
关于subPath的注释,只要为每个吊舱定义了不同的subPath,这也应该起作用。 DT提供的链接中的示例通过基于容器名称创建子路径来实现此目的。