首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >kubernete集群删除我的pod故障排查

kubernete集群删除我的pod故障排查
EN

Stack Overflow用户
提问于 2017-12-29 23:00:09
回答 3查看 1.9K关注 0票数 1

我已经创建了一个部署,它创建一个副本集和这个副本集创建pod。现在我发现有几次pod被删除了(不知道为什么),然后副本集创建了一个新的pod。

我找不到前一个pod的详细信息。我想知道为什么这个吊舱被删除了。Kubernetes服务器版本1.5.6。我也没有在事件中看到任何东西。然而,我可以在更新版本的Kubernetes服务器中看到一些事件。

如果需要更多的信息,请让我知道。

我在这里给出了一个简单的用例,其中我创建了一个部署,然后删除了其中的pod:

代码语言:javascript
运行
复制
[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被删除的原因?

EN

回答 3

Stack Overflow用户

发布于 2017-12-30 00:03:55

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

编辑:

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

票数 1
EN

Stack Overflow用户

发布于 2018-01-03 10:48:36

Describe是一种可行的方法。我每天都会看到这样的事情。每次启动新的部署时,我都会使用kubectl get pods列出pod,然后一旦我看到要监视的新pod的容器创建消息,我就会获取id,然后运行kubectl describe pod [ID]。即使用新的pod替换了pod,您仍然可以看到退出错误。您可能还可以执行kubectl logs [ID]来查看更多信息。

票数 1
EN

Stack Overflow用户

发布于 2017-12-30 20:43:32

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

代码语言:javascript
运行
复制
kubectl get pod --output=yaml

输出包括一个lastState字段,其中包含有关pod的最后状态的信息。

代码语言:javascript
运行
复制
 apiVersion: v1
 kind: Pod
 ...
     lastState:
       terminated:
         containerID: ...
         exitCode: 0
         finishedAt: ...
         message: ...
         ...

您也可以使用kubectl logs -p拉取实例实例在实例实例中的日志。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48024468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档