我创建了一个部署,用于创建副本集和此副本集创建窗格。现在我发现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被删除的原因?
答案 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]
查看更多信息。