kubernetes - 由于 'No such file or directory',Kubect

我正在尝试在 pod 上运行 kubectl exec 命令,但它没有显示“没有这样的文件或目录”

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

  1. 当我执行 kubectl exec $POD -- printenv 时,然后 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

  2. 当我从 POD 的终端运行 --printenv 时,然后 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/abc/scripts:/opt/abc/bin:/opt/admin/bin:/opt/abc/bin:/root/bin

我猜这会导致命令在通过 kubectl exec 运行时失败。

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

最佳答案

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

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

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

关于kubernetes - 由于 'No such file or directory',Kubectl exec 命令失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72448693/

相关文章:

c# - 如何转义和忽略 __debugbreak

javascript - Django 和 React : csrf cookie is not b

java - Vertx 运行多个事件循环

r - qqplot 不会作图。将数据帧转换为向量时出错

python - Gitlab CI 在 Python 脚本输出中换行

java - 这个官方 Xml 模式是否无效或者是 Jaxb 的错误限制

javascript - 使用 react-chartjs-2 创建对折线图的引用

ios - 如何在 App Store Connect 中启用 "Access to Cloud M

javascript - React-TypeScript : Expected 0 argumen

ruby-on-rails - Ruby on rails query 不知道怎么写