Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 在GCP中,将一个pod生成的文件装载到另一个pod(在它启动之前)的不同节点上的最佳方式是什么?_Kubernetes_Google Cloud Platform_Volumes - Fatal编程技术网

Kubernetes 在GCP中,将一个pod生成的文件装载到另一个pod(在它启动之前)的不同节点上的最佳方式是什么?

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都在同一个节点上创建,那么这种方法可以很好地工作。否

我有一个简单的用例。我试图在Kubernetes的两个不同节点上部署两个吊舱
Pod A
是一个服务器,它在收到API请求后创建一个文件
abc.txt
。我想把这个
abc.txt
文件挂载到
Pod B

如果文件
jhsdiak.conf
(此文件的名称是随机生成的)在启动之前不在
pod B
上,则
pod B
将创建自己的默认文件。因此,为了避免这种情况,必须在文件启动之前将其装入
Pod B

以下是我尝试过的东西

  • 共享卷使用动态配置的PVC->如果两个POD都在同一个节点上创建,那么这种方法可以很好地工作。否则,GCP不支持ReadWriteMany
  • 使用Kubectl CP将文件从
    Pod A
    复制到主机路径,然后创建configmaps/secrets将其装载到
    Pod B
    ->此方法失败,因为文件jhsdiak.conf的名称是随机生成的
  • 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,但必须实现自己的访问控制机制,否则您可能会得到两个随机文件,而不是一个