为什么要运行exec命令?
问题描述:
这个错误的原因是什么?我不明白。命令运行两个豆荚,但不运行ubuntu pod?为什么要运行exec命令?
[email protected]:~$ kubectl get po NAME READY STATUS RESTARTS AGE cassandra-2p4m0 0/1 Running 1 1d k8s-master-127.0.0.1 3/3 Running 6 1d nginx-app-6q4cn 1/1 Running 0 1h nginx-i3bja 1/1 Running 4 1d ubuntu-app-nuuyh 0/1 Running 11 1h [email protected]:~$ kubectl exec -ti cassandra-2p4m0 -- /bin/sh # ls bin dev kubernetes-cassandra.jar media proc run.sh srv usr boot etc lib mnt root sbin sys var cassandra_data home lib64 opt run selinux tmp # exit [email protected]:~$ kubectl exec -ti nginx-i3bja -- /bin/sh # ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr # exit [email protected]:~$ kubectl exec -ti ubuntu-app-nuuyh -- /bin/sh error: Error executing remote command: Error executing command in container: container not found ("ubuntu-app")
答
答案已经在评论中。 “get pod”输出中的11重新启动表明您的容器反复崩溃。你不能执行死容器。
使用“kubectl logs --previous ubuntu-app-nuuyh”来查看日志,以确定为什么“kubectl获得pod -o yaml ubuntu-app-nuuyh”没有提供足够的信息。
看起来您的应用可能处于崩溃循环(请注意RESTARTS:11)。它告诉你它找不到应用程序。尝试kubectl描述pod或kubectl日志来帮助调试它为什么崩溃。 –
尝试'kubectl logs -f'查看Pod内发生了什么以及它为什么崩溃。 –
MrE
请求日志时,您的容器可能没有任何正在运行的容器。使用'kubectl logs -p'来查看上次退出容器的日志。 –