为什么kubectlcp命令以退出代码126终止?

我正在尝试使用以下命令将文件从 pod 复制到本地:

kubectl cp /namespace/pod_name:/path/in/pod /path/in/local

但是command terminates with exit code 126不会发生和复制。

同样,在使用以下命令从本地尝试到 pod 时:

kubectl cp /path/in/local /namespace/pod_name:/path/in/pod

它引发以下错误:

OCI runtime exec failed: exec failed: container_linux.go:367: starting container process caused: exec: "tar": executable file not found in $PATH: unknown

请帮助解决这个问题。

回答

kubectl cp实际上是一个非常小的包装器kubectl exec whatever tar c | tar x。这样做的副作用是您需要tar目标容器中的可执行文件,而您似乎没有。

通常kubectl cp最好避免,它通常只适用于奇怪的调试内容。


回答

kubectl cp要求tar存在于您的容器中,如帮助所述:

!!!重要的提示!!!要求容器映像中存在“tar”二进制文件。如果 'tar' 不存在,'kubectl cp' 将失败。

确保您的容器中包含tar二进制文件$PATH


以上是为什么kubectlcp命令以退出代码126终止?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>