由于权限被拒绝,“kubectl cp”到 pod 失败

Und*_*ood 11 copy-paste kubernetes google-kubernetes-engine kubectl minikube

当我尝试将一个小文件复制到 Kubernetes pod 时,它失败并显示以下错误:

:~ $kubectl cp /tmp/a default/resolver-proxy-69dc786fcf-5rplg:/usr/local/bin/ --no-preserve=true
    tar: a: Cannot open: Permission denied
    tar: Exiting with failure status due to previous errors
    command terminated with exit code 2
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?我在 minikube 上运行 Kubernetes。

由于类似的错误,我还看到另一个 Postgres Pod 处于 Error 状态:

:~ $kubectl logs postgres-7676967946-7lp9g postgres
tar: /var/lib/postgresql/data: Cannot open: Permission denied
tar: Error is not recoverable: exiting now
Run Code Online (Sandbox Code Playgroud)

Tum*_*nvi 22

对于 kubectl cp 尝试先复制到/tmp文件夹,然后将文件 mv 到转移到root用户所需的路径

kubectl cp /tmp/a default/resolver-proxy-69dc786fcf-5rplg:/tmp/

然后执行到 pod 并更改为 root 并复制到所需的路径。

对于第二个问题,执行到 pod 并通过运行以下命令修复权限。Postgres 需要能够读写 Postgres 路径。

chown -R postgres:postgres /var/lib/postgresql/