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

当pod仍在运行时,kubectl cp命令似乎只能工作.

有没有办法将输出文件的目录从已完成的pod复制到本地计算机? 最佳答案 根据定义,不是一个完整的Pod,因为那些是短暂的,但是你的问题的答案是改变“完成”的含义的定义.

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

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

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

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

点赞