如果Kubernetes Pod超出其内存资源``限制''会怎样?

时间:2019-03-06 21:49:26

标签: kubernetes

Kubernetes文档中有些模糊之处,如果Pod的内存占用量增加到超过resources.limits指定的值时会发生什么。

https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#how-pods-with-resource-limits-are-run

它指定如果容器的占用空间增长到超过其limits的值,它将“可能”终止。 “可能是”是什么意思?什么条件会导致终止它?哪些条件允许它按原样继续?

2 个答案:

答案 0 :(得分:0)

限制是指内存和cpu。 如果内存消耗增加,它将终止,但是对于CPU,操作系统可以允许极短的时间片消耗超过允许的CPU份额。

答案 1 :(得分:0)

  

问:如果Kubernetes Pod超出其内存资源“限制”会发生什么?

它将重新启动。

  

与Pod逐出不同,如果Pod容器被OOM杀死,则kubelet会根据其RestartPolicy重新启动它。

您可以Configure Out Of Resource HandlingNode

  

驱逐最终用户Pod

     

如果kubelet无法在节点上回收足够的资源,则kubelet开始驱逐Pod。

     

kubelet会首先通过按饿死的资源使用量超过请求的顺序对Pod逐级进行排序,然后按Priority排序,然后根据相对于Pod的饿死的计算资源的消耗进行排序安排请求。