为什么要运行exec命令?

为什么要运行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")
+0

看起来您的应用可能处于崩溃循环(请注意RESTARTS:11)。它告诉你它找不到应用程序。尝试kubectl描述pod或kubectl日志来帮助调试它为什么崩溃。 –

+0

尝试'kubectl logs -f '查看Pod内发生了什么以及它为什么崩溃。 – MrE

+0

请求日志时,您的容器可能没有任何正在运行的容器。使用'kubectl logs -p '来查看上次退出容器的日志。 –

答案已经在评论中。 “get pod”输出中的11重新启动表明您的容器反复崩溃。你不能执行死容器。

使用“kubectl logs --previous ubuntu-app-nuuyh”来查看日志,以确定为什么“kubectl获得pod -o yaml ubuntu-app-nuuyh”没有提供足够的信息。