资源限制的目的:
- 防止触发OOM
- 防止单个pod不受控制地占用cpu和memory资源
1.资源限制-Pod(container)
kubernetes对资源的限制实际上是通过cgroup来控制的,cgroup是容器的一组用来控制内核如何运行进程的相关属性集合。针对内存、cpu和各种设备都有对应的cgroup
默认情况下,Pod运行不受CPU和内存限额的限制,意味着可以消耗所在节点的所有cpu和内存,所以一般会针对某些应用的pod资源进行资源限制。
资源限制是通过resources的requests和limits来实现:
requests: 指定要分配的资源。初始值,软限制
limits:资源的最高请求值。最大值,硬限制
1)针对单个容器进行限制
/root/yaml/006_03_hpa/pod.yaml
2)LimitRange对所有容器的 cpu和内存 进行限制
/root/yaml/006_03_hpa/limitrange.yaml