如何在kubernetes集群的Pod之间或节点之间复制文件?

时间:2018-07-19 16:31:12

标签: kubernetes cluster-computing kubernetes-pod

在kubernetes集群中有可能吗?

我发现的所有示例都是从本地磁盘复制到Pod或反之亦然,或者是通过SSH,SCP或其他实用程序从一个节点复制到另一个节点的唯一选择?

3 个答案:

答案 0 :(得分:4)

无法进行集群到集群的复制。您需要使用kubectl cp在本地复制它,然后将文件复制回去:

kubectl cp <pod>:/tmp/test /tmp/test
kubctl cp /tmp/test <pod>:/tmp/test

如果您尝试在Pod之间共享文件,并且只有一个Pod需要写访问权限,则可能要在多个Pod上安装ro卷,或者使用像S3这样的对象存储。实际上,您不应该经常在Pod之间来回复制文件,这是一种反模式

答案 1 :(得分:0)

查看 this 篇文章。

简而言之,这是命令:

kubectl exec pod-01 -- tar cf - /dir1 /dir2 | kubectl exec -i pod-02 -- tar xvf - -C /

答案 2 :(得分:0)

这是一种从容器内部复制到本地计算机的方法:

kubectl cp <file-spec-src> <file-spec-dest>

示例

kubectl cp your-pod:/path/to/file /local/path
kubectl cp /local/path your-pod:/path/to/file