如何检查Kubernetes pod是否因OOM或DEADLINE超过而被杀?

时间:2017-07-13 17:26:39

标签: kubernetes kubectl

我有一些以前运行的pod我认为被Kubernetes杀死了OOM或DEADLINE EXCEEDED,最可靠的方法是什么?特别是如果豆荚不是最近的。

2 个答案:

答案 0 :(得分:5)

如果您在键入kubectl get pods -a时仍然显示了广告连播,那么您可以输入以下kubectl describe pod PODNAME并查看终止原因。输出将类似于以下内容(我已经提取了与此讨论相关的输出部分):

Containers:
  somename:
    Container ID: docker://5f0d9e4c8e0510189f5f209cb09de27b7b114032cc94db0130a9edca59560c11
    Image:      ubuntu:latest
    ...
    State:      Terminated
      Reason:       Completed
      Exit Code:    0

在示例输出中,我的广告联盟的终止原因是Completed,但您会看到其他原因,例如OOMKilled和其他原因。

答案 1 :(得分:0)

如果吊舱已经被删除,您还可以检查kubernetes事件并查看发生的情况:

$ kubectl get events

LAST SEEN   FIRST SEEN   COUNT    NAME                                               KIND                      SUBOBJECT                                     TYPE      REASON                SOURCE    MESSAGE
59m         59m          1        my-pod-7477dc76c5-p49k4                            Pod                       spec.containers{my-service}                   Normal    Killing               kubelet   Killing container with id docker://my-service:Need to kill Pod