当我运行kubectl exec -it backstage-test01-5d877c7f54-425s6 -n customer-namespaces -- /bin/bash
命令时,它返回以下错误:
Defaulted container "linkerd-proxy" out of: linkerd-proxy, backstage-backend, linkerd-init (init)
error: Internal error occurred: error executing command in container: failed to exec in container: failed to start exec "eec3a58e120807f9dbea37e3c827850cc69690a4c0febd03ef6174b30a314fb7": OCI runtime exec failed: exec failed: unable to start container process: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown
这是我在Pod的Containers选项卡中获得的视图。
我试图在kubernetes pod中执行shell,但我得到一个错误,说“bin/bash:没有sush文件或目录:未知”
3条答案
按热度按时间bihw5rsg1#
您的pod中有两个容器:
linkerd-proxy
:Linkerd Sidecar代理backstage-backend
:您的容器尝试指定容器而不是使用默认容器:
为了避免将来发生这种情况,请在pod spec(从v1.21开始可用)中的部署中添加以下注解:
这个注解将保证您访问正确的容器,而不是
linkerd-proxy
参考文献:
hpcdzsge2#
有时这个Pod会在PodsCreation上堆栈并进入错误循环,如果你检查它,你可能会发现那里有一个错误。您可以使用以下命令轻松检查它:
从日志跟踪-确保yourPod正在运行,然后你可以做一些像;
然后检查你是否能进入shell..
neskvpey3#
也许只是因为环境还没有安装bash?
例如(不确定您的pod env):
快速检查: