Kubectl exec 命令由于"没有这样的文件或目录"而失败



我试图在pod上运行kubectl exec命令,但它失败了,说'No such file or directory'

如果我通过bash登录到pod的终端,我可以运行该命令此外,这个问题只适用于少数命令。我发现有一个PATH变量差异

  1. 当我执行kubectl执行$POD—printenv,然后路径=/usr/地方/sbin:/usr/地方/bin:/usr/sbin:/usr/bin:/sbin/bin:

  2. 当我从POD的终端运行——printenv时,然后路径=/usr/地方/sbin:/usr/地方/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/abc/脚本:/opt/abc/bin:/opt/admin/bin:/opt/abc/bin:/根/bin

我猜这是导致kubectl exec运行命令失败的原因。

欢迎任何解决这个问题的想法;我们是否可以将PATH的env变量以某种方式传递给使用kubectl exec的POD ?

您可以尝试执行bash -c "<command>"

$ kubectl exec <pod> -- bash -c "<cmd>" 

可能是一些shell初始化文件修改了PATH

问题是必需的环境变量(PATH)和其他一些缺失。我将所需的env变量与命令一起传递。

例子kubectl exec $pod_name——bash "cd ../b/;ENV_VARIABLE_1=ENV_VALUE_2 &&env env_variable =ENV_VALUE_2 &&">

细节:-Kubectl设置环境变量并运行命令

相关内容

  • 没有找到相关文章

最新更新