小编Sim*_* G.的帖子

kubectl cp 在运行 nvidia-docker 的节点上失败并显示“tar:这看起来不像 tar 存档”

我正在尝试将本地 Python 文件复制到 Kubernetes 上正在运行的容器,但失败了:

$ kubectl cp /path/to/file.py namespace/pod:/path/in/container/file.py
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
command terminated with exit code 2
Run Code Online (Sandbox Code Playgroud)

我知道tar二进制文件必须在容器中可用,而且确实如此。

有谁知道这里发生了什么以及我如何解决这个问题?

更新:

经过更多测试后,我可以确认这仅发生在运行的节点上,nvidia-docker而不是正常的docker. 当管道进入kubectl exec这些节点时,流总是空的。

因此,以下命令会在支持 GPU 的节点上运行的 pod 中生成一个空文件,而该文件在其他不支持 GPU 的节点上为非空文件:

cat nonempty_file.txt | kubectl exec -i pod -- tee /home/jovyan/empty_file.txt 
Run Code Online (Sandbox Code Playgroud)

这已经在两个节点上使用完全相同的图像/容器进行了测试。

kubernetes kubectl nvidia-docker amazon-eks

6
推荐指数
1
解决办法
3534
查看次数

标签 统计

amazon-eks ×1

kubectl ×1

kubernetes ×1

nvidia-docker ×1