如何在作业完成时将目录从Kubernetes作业中复制出来?

时间:2017-10-24 01:44:03

标签: kubernetes

只有当pod仍在运行时,kubectl cp命令似乎才有效。 有没有办法将输出文件的目录从已完成的pod复制到我的本地计算机?

1 个答案:

答案 0 :(得分:1)

根据定义,不是已完成的 Pod,因为这些是短暂的,但是你的问题的答案是改变“已完成”的定义。

对你的问题最直接的答案是将网络卷安装到Pod中,以便其文件终止,或者让Pod将自己的文件复制到一些额外的群集位置(可能是s3或FTP)位点)。

但我怀疑你并不是指在那些情况下,或者你本来就已经这样做了。

另一个示例可能是让Pod等待一些已定义的超时期限以显示sentinel文件,这样您就可以通知Pod已成功复制文件,并且现在可以按预期自由终止。或者如果它更方便,让Pod监听套接字并将tar(或zip)流式传输到连接,启用更传统的请求 - 响应生命周期,并在响应结束时关闭Pod。

所有这些解决方法中隐含的是,您通过其他方式通知Pod的“差不多完成”。如果没有关于您的设置的更多信息,很难进入,甚至可能不需要。因此,请随时添加说明。