rsync文件添加到kubernetes窗格

我需要rsync文件树到kubernetes集群中的特定窗格。 似乎应该有可能的,如果只有一个人可以说服rsync的kubectl行为有点像rsh。 就像是:

rsync --rsh='kubectl exec -i podname -- ' -r foo x:/tmp 

…除了这会遇到x的问题,因为rsync假定需要一个主机名:

 exec: "x": executable file not found in $PATH 

我似乎无法find一种方法来帮助rsync构buildrsh命令。 有没有办法做到这一点? 或者其他一些通过pipe道可以实现相对高效的文件传输的方法?

(我知道gcloud compute copy-files ,但它只能用于节点?)

最后,我写了一个Python脚本来充当tar文件的接收者。 你可以这样做:

 tar cf - . | kubectl exec shinken -i catcher -v /etc/shinken/custom_configs 

请注意,这只适用于群集节点为kubernetes 1.1或更高版本的情况。

不支持,但添加支持,您可以+1,甚至有助于: https : //github.com/kubernetes/kubernetes/issues/18007#issuecomment-164797262

如果容器上有tar二进制文件,则可以使用新的cp命令传输文件。 https://kubernetes.io/docs/user-guide/kubectl/v1.7/#cp

虽然可能不如rsync高效。