我有一些以前运行过的pod,我认为它们被Kubernetes杀死了,因为OOM或DEADLINE EXCEEDED,什么是最可靠的方法来确认这一点?特别是如果pod不是最近的。
zy1mlcev1#
如果在输入kubectl get pods -a时pod仍然显示,则输入以下kubectl describe pod PODNAME并查看终止原因。输出将类似于以下内容(我提取了与此讨论相关的部分输出):
kubectl get pods -a
kubectl describe pod PODNAME
Containers: somename: Container ID: docker://5f0d9e4c8e0510189f5f209cb09de27b7b114032cc94db0130a9edca59560c11 Image: ubuntu:latest ... State: Terminated Reason: Completed Exit Code: 0
字符串在示例输出中,我的pod的终止原因是Completed,但您将看到其他原因,如OOMKilled和其他原因。
Completed
OOMKilled
fnatzsnv2#
如果pod已经被删除,你也可以检查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
字符串
zour9fqk3#
我遇到了类似的问题,我的pod被杀死,并立即删除。我滚动日志,但没有找到太多。要查看事件,pod已被删除,没有留下任何痕迹。我所做的是在上面放一个手表,每隔1或2秒用命令在屏幕上捕捉事件-watch -n2 "kubectl describe pod <pod_name>"的。不确定这是否有帮助,但对我有效
watch -n2 "kubectl describe pod <pod_name>"
3条答案
按热度按时间zy1mlcev1#
如果在输入
kubectl get pods -a
时pod仍然显示,则输入以下kubectl describe pod PODNAME
并查看终止原因。输出将类似于以下内容(我提取了与此讨论相关的部分输出):字符串
在示例输出中,我的pod的终止原因是
Completed
,但您将看到其他原因,如OOMKilled
和其他原因。fnatzsnv2#
如果pod已经被删除,你也可以检查kubernetes事件,看看发生了什么:
字符串
zour9fqk3#
我遇到了类似的问题,我的pod被杀死,并立即删除。我滚动日志,但没有找到太多。要查看事件,pod已被删除,没有留下任何痕迹。
我所做的是在上面放一个手表,每隔1或2秒用命令在屏幕上捕捉事件-
watch -n2 "kubectl describe pod <pod_name>"
的。不确定这是否有帮助,但对我有效