解决我在kubernete集群中删除pod的原因

时间:2017-12-29 15:00:09

标签: kubernetes

我创建了一个部署,用于创建副本集和此副本集创建窗格。现在我发现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-deleted-reason-why-59c9df7594-nr8rs,副本集创建了一个新广告连播 - pod-deleted-reason-why-59c9df7594-qpq5b

如果由于某些其他原因(例如节点重启)删除了pod,我怎么知道pod被删除的原因?

3 个答案:

答案 0 :(得分:0)

您可以使用kubectl describe pod ...查看更多信息

编辑:

更正,我没有意识到你自己正在删除的东西,如果你手动删除pod我不认为你可以得到这些信息。如果某个pod已经存在,然后有人删除它,那么唯一的方法就是删除它。如果由于某种原因重新启动,则pod名称保持不变。

答案 1 :(得分:0)

You can display detailed information about a pod that no longer exists使用

kubectl get pod --output=yaml

输出包含一个lastState字段,其中包含有关广告连播最后状态的信息。

 apiVersion: v1
 kind: Pod
 ...
     lastState:
       terminated:
         containerID: ...
         exitCode: 0
         finishedAt: ...
         message: ...
         ...

您还可以使用kubectl logs -p来获取容器中容器实例的日志。

答案 2 :(得分:0)

描述pod是要走的路。我每天都看到这种事。每次我启动新部署时,我都会使用kubectl get pods列出pod,然后一旦我看到容器创建了我要监控的新pod的消息,我就抓住id然后运行kubectl describe pod [ID]。即使pod被新的替换,您仍然可以看到退出错误。您也可以kubectl logs [ID]查看更多信息。