【发布时间】:2018-12-27 21:24:37
【问题描述】:
在 kubernetes 集群内部可以这样做吗?
我发现的所有示例都是从本地磁盘复制到 pod,反之亦然,或者是从节点复制到节点的唯一选择,例如通过 SSH、SCP 或其他实用程序?
【问题讨论】:
-
这感觉像是 XY 问题,你为什么要这么做?
标签: kubernetes cluster-computing kubernetes-pod
在 kubernetes 集群内部可以这样做吗?
我发现的所有示例都是从本地磁盘复制到 pod,反之亦然,或者是从节点复制到节点的唯一选择,例如通过 SSH、SCP 或其他实用程序?
【问题讨论】:
标签: kubernetes cluster-computing kubernetes-pod
不可能进行集群到集群的复制。您需要使用kubectl cp 将其复制到本地,然后将文件复制回来:
kubectl cp <pod>:/tmp/test /tmp/test
kubctl cp /tmp/test <pod>:/tmp/test
如果您尝试在 pod 之间共享文件,并且只有一个 pod 需要写入权限,您可能希望在多个 pod 上挂载一个 ro 卷,或者使用像 S3 这样的对象存储。将文件复制到 pod 和从 pod 复制文件真的不应该是你经常做的事情,这是一种反模式
【讨论】:
查看this 文章。
简而言之,就是这个命令:
kubectl exec pod-01 -- tar cf - /dir1 /dir2 | kubectl exec -i pod-02 -- tar xvf - -C /
【讨论】:
这是一种从容器内部复制到本地计算机的方法:
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
【讨论】: