Kubernetes资源请求

时间:2018-10-31 12:32:52

标签: kubernetes google-kubernetes-engine

在容器中设置资源请求是否分配了资源?假设我设置了一个1 CPU请求,是否会为该Pod分配1 CPU?

或者资源请求是否像阈值或标识符一样,如果可以根据可用资源将具有资源请求的pod部署到该实例?

1 个答案:

答案 0 :(得分:2)

分别有资源请求和资源限制

资源请求mostly used for scheduling。如果您的节点具有8个CPU内核和32 GB的RAM,则Kubernetes不会调度Pod在该节点上运行,而这些节点合起来需要8.0个以上的CPU内核和32 GB内存。 (这包括任何数量的根本没有资源请求的Pod。)一个例外是,如果您请求一定数量的CPU,它将获得passed on to Docker,并且如果系统过载,则处理时间将按比例分配请求的CPU数量。内核和内存都不会以任何有意义的方式“保留”(如果您请求1个CPU单元,则不能保证在单个特定内核上运行)。

资源限制 affect the pod's operation。 Kubernetes将根据请求的CPU限制来限制Pod的CPU消耗,如果超过了其内存限制,Linux内核将终止它(如extended discussion of the docker run -m option中所述)。请记住,pod仅根据其资源请求进行调度,因此有可能有一组pod在一起,它们的总请求量不超过可用内存,但最终会占用过多的内存,在这种情况下,内核OOM-killer会也会杀死一些东西。