Kubernetes 在GCP中,将一个pod生成的文件装载到另一个pod(在它启动之前)的不同节点上的最佳方式是什么?
我有一个简单的用例。我试图在Kubernetes的两个不同节点上部署两个吊舱Kubernetes 在GCP中,将一个pod生成的文件装载到另一个pod(在它启动之前)的不同节点上的最佳方式是什么?,kubernetes,google-cloud-platform,volumes,Kubernetes,Google Cloud Platform,Volumes,我有一个简单的用例。我试图在Kubernetes的两个不同节点上部署两个吊舱Pod A是一个服务器,它在收到API请求后创建一个文件abc.txt。我想把这个abc.txt文件挂载到Pod B上 如果文件jhsdiak.conf(此文件的名称是随机生成的)在启动之前不在pod B上,则pod B将创建自己的默认文件。因此,为了避免这种情况,必须在文件启动之前将其装入Pod B 以下是我尝试过的东西 共享卷使用动态配置的PVC->如果两个POD都在同一个节点上创建,那么这种方法可以很好地工作。否
Pod A
是一个服务器,它在收到API请求后创建一个文件abc.txt
。我想把这个abc.txt
文件挂载到Pod B
上
如果文件jhsdiak.conf
(此文件的名称是随机生成的)在启动之前不在pod B
上,则pod B
将创建自己的默认文件。因此,为了避免这种情况,必须在文件启动之前将其装入Pod B
以下是我尝试过的东西
- 共享卷使用动态配置的PVC->如果两个POD都在同一个节点上创建,那么这种方法可以很好地工作。否则,GCP不支持ReadWriteMany
- 使用Kubectl CP将文件从
复制到主机路径,然后创建configmaps/secrets将其装载到Pod A
->此方法失败,因为文件jhsdiak.conf的名称是随机生成的Pod B
- InitContainers->我不确定如何使用init容器将文件从一个pod移动到另一个pod
- 使用NFS持久化存储->我还没有尝试过,但在吊舱之间移动一个文件似乎会带来很大的开销
有没有更好或更有效的方法来解决这个问题?类似的解决方案是使用云存储来存储文件 但是,我有另一个解决方案,而不是“文件”。创建一个PubSub主题,并使用
Pod a
将文件推入其中。
创建请求订阅并使用Pod B
轮询它
您可以实现您想要的,我的意思是将数据从A发送到B,并且您不必担心文件系统
如果您的集群符合Knative,事件解决方案可以帮助您留在集群内部(如果需要)类似的解决方案是使用云存储来存储文件 但是,我有另一个解决方案,而不是“文件”。创建一个PubSub主题,并使用
Pod a
将文件推入其中。
创建请求订阅并使用Pod B
轮询它
您可以实现您想要的,我的意思是将数据从A发送到B,并且您不必担心文件系统
如果您的集群符合Knative,事件解决方案可以帮助您留在集群内部(如果需要)看起来像NFS/Cloud Filestore。文件大小是多少?您每天有多少个?@guillaumeblaquiere文件是根证书。所以非常分钟。我总共只有十个文件。不是每天,只是一开始的时候。@ char我考虑过NFS/BooFielStor,但是看起来开销很大。我可以选择这个选项,但我只需要确认这是正确的方法。无论你做什么,都不要使用NFS,开销太大了。您可以使用storageClass,但您必须实现自己的访问控制机制,否则您可能会得到两个随机文件,而不是像NFS/Cloud Filestore那样的文件。文件大小是多少?您每天有多少个?@guillaumeblaquiere文件是根证书。所以非常分钟。我总共只有十个文件。不是每天,只是一开始的时候。@ char我考虑过NFS/BooFielStor,但是看起来开销很大。我可以选择这个选项,但我只需要确认这是正确的方法。无论你做什么,都不要使用NFS,开销太大了。您可以使用storageClass,但必须实现自己的访问控制机制,否则您可能会得到两个随机文件,而不是一个