kubernetes卷:复制吊舱之间的一个共享卷和一个专用卷

kubernetes卷:复制吊舱之间的一个共享卷和一个专用卷,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,我对库伯内特斯还不熟悉,正在学习。 部署类型为POD,replca=3 是否有任何方法可以为每个吊舱安装单独的卷,为所有吊舱安装一个卷。 要求: 案例1-我的应用程序正在生成一些临时文件名tempfile.txt,因此有三个副本pod,每个副本pod将生成tempfile.txt,但内容可能不同。因此,如果我使用共享卷,它们将相互覆盖。 案例2:我有一个公共文件,它不是映像的一部分,将由启动应用程序的所有pod使用,即将文件从主机复制到所有pod的容器 提前谢谢 实现第一部分有多种方法。这是我的

我对库伯内特斯还不熟悉,正在学习。 部署类型为POD,replca=3

是否有任何方法可以为每个吊舱安装单独的卷,为所有吊舱安装一个卷。 要求:


案例1-我的应用程序正在生成一些临时文件名tempfile.txt,因此有三个副本pod,每个副本pod将生成tempfile.txt,但内容可能不同。因此,如果我使用共享卷,它们将相互覆盖。
案例2:我有一个公共文件,它不是映像的一部分,将由启动应用程序的所有pod使用,即将文件从主机复制到所有pod的容器


提前谢谢

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

使用statefulSet来创建复制副本,而不是部署。statefulSets允许您包含每个pod使用它创建的卷模板,因此每个新pod将有一个专门为其创建的新PV

这确实需要您的集群允许

取决于TimFiel.txt的大小、用例和集群/节点配置,您可能还需要考虑使用节点的本地存储的一个。p> 对于问题的第二部分,使用任何readWriteMany卷都可以(例如任何NFS选项)


关于子路径,只要您为每个pod定义不同的子路径,这也应该有效。DT提供的链接中的示例通过基于pod名称创建子路径来实现这一点。

请详细说明您的用例。案例1-我的应用程序正在生成一些临时文件名tempfile.txt,因此有三个副本pod,每个副本将生成tempfile.txt,但内容可能不同。所以,如果我使用共享卷,它将相互覆盖。案例2:我有一个公共文件不是图像的一部分,这将由启动应用程序的所有POD使用。请使用注释中未列出的完整要求更新问题本身,并分享您到目前为止的疲劳体验?您应该探索在挂载选项中使用子路径,如果所有POD之间共享子路径,请阅读更多相关内容。这在案例2中有效。但是需要为可以是3个、4个或10个pod的pod复制设置单独的卷如果使用hostPath,则所有pod都必须位于同一个节点上,这将需要设置关联或节点选择器。我没有pod级别的资源,我有配置为副本=3的部署资源,这将创建三个具有相同配置的吊舱。部署是否可行?如果要坚持部署,子路径是最好的选择。如果数据不需要持久化,那么hostPath就可以了。hostPath的关键在于,您将其视为一个临时空间,而不是持久化或共享