我已经创建了一个部署,它创建一个副本集和这个副本集创建pod。现在我发现有几次pod被删除了(不知道为什么),然后副本集创建了一个新的pod。
我找不到前一个pod的详细信息。我想知道为什么这个吊舱被删除了。Kubernetes服务器版本1.5.6。我也没有在事件中看到任何东西。然而,我可以在更新版本的Kubernetes服务器中看到一些事件。
如果需要更多的信息,请让我知道。
我在这里给出了一个简单的用例,其中我创建了一个部署,然后删除了其中的pod:
[kubernate-test]$ kubectl run pod-deleted-reason-why --image=busybox -- sh -c 'while true; do echo i am running, but not sure can fail any time;sleep 10;done'
deployment "pod-deleted-reason-why" created
[kubernate-test]$ kubectl get deployments |grep reason
pod-deleted-reason-why 1 1 1 1 32s
[kubernate-test]$ kubectl get replicaset |grep reason
pod-deleted-reason-why-59c9df7594 1 1 1 59s
[kubernate-test]$ kubectl get pods |grep reason
pod-deleted-reason-why-59c9df7594-nr8rs 1/1 Running 0 1m
[kubernate-test]$ kubectl delete pod pod-deleted-reason-why-59c9df7594-nr8rs
pod "pod-deleted-reason-why-59c9df7594-nr8rs" deleted
[kubernate-test]$ kubectl get pods |grep reason
pod-deleted-reason-why-59c9df7594-qpq5b 1/1 Running 0 1m在这里,我手动删除了pod - pod-deleted-reason-why-59c9df7594-nr8rs,副本集创建了一个新的pod - pod-deleted-reason-why-59c9df7594-qpq5b。
如果pod由于某种其他原因(比如节点重新启动)而被删除,我如何知道pod被删除的原因?
发布于 2017-12-30 00:03:55
您可以使用kubectl describe pod ...查看更多信息
编辑:
更正一下,我没有意识到你自己在删除东西,如果你手动删除pod,我认为你无法找回这些信息。如果一个pod已经存在,然后有人删除了它,那么唯一的方法就是您真的删除了它。如果由于某种原因而重新启动,pod名称将保持不变。
发布于 2018-01-03 10:48:36
Describe是一种可行的方法。我每天都会看到这样的事情。每次启动新的部署时,我都会使用kubectl get pods列出pod,然后一旦我看到要监视的新pod的容器创建消息,我就会获取id,然后运行kubectl describe pod [ID]。即使用新的pod替换了pod,您仍然可以看到退出错误。您可能还可以执行kubectl logs [ID]来查看更多信息。
发布于 2017-12-30 20:43:32
You can display detailed information about a pod that no longer exists使用
kubectl get pod --output=yaml输出包括一个lastState字段,其中包含有关pod的最后状态的信息。
apiVersion: v1
kind: Pod
...
lastState:
terminated:
containerID: ...
exitCode: 0
finishedAt: ...
message: ...
...您也可以使用kubectl logs -p拉取实例实例在实例实例中的日志。
https://stackoverflow.com/questions/48024468
复制相似问题