Kubernetes 手记(19)- 容器资源限制
十九 容器资源限制
在 K8s 中,运行 Pod 的节点必须满足 Pod 运行所需的基本条件,即有 CPU/MEM 能满足 Pod 运行的所需最小资源限制。
容器没有内核。默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的尽可能多的给定资源;如果不对容器资源进行限制,容器之间就会相互影响,一些占用硬件资源较高的容器会吞噬掉所有的硬件资源,从而导致其它容器无硬件资源可用,发生停服状态。Docker 提供了限制内存,CPU 或磁盘 IO 的方法,可以对容器所占用的硬件资源大小以及多少进行限制,我们在使用 docker create 创建一个容器或者 docker run 运行一个容器的时候就可以来对此容器的硬件资源做限制。
起始值 requests 最低保障
终结值 limits 硬限制
CPU
复制代码
内存
复制代码
19.1 资源限制
清单格式,详见:kubectl explain pods.spec.containers.resources
复制代码
清单示例,node 节点的 CPU 为 12 核心,cpu limits 设置为 1000m 也就是允许
复制代码
查看结果
复制代码
19.2 qos 质量管理
GuranteedW
复制代码
Burstable
复制代码
BestEffort
复制代码
oom 策略
复制代码
其他
自己将手记发在:https://github.com/redhatxl/awesome-kubernetes-notes欢迎一键三连
版权声明: 本文为 InfoQ 作者【雪雷】的原创文章。
原文链接:【http://xie.infoq.cn/article/929fd1e602398ae4ad393e285】。文章转载请联系作者。
评论