Kubernetes 通过 Requests 与 Limits 控制 Pod 的资源分配与上限,并据此划分 QoS 等级,决定节点资源紧张时的驱逐优先级。
一、QoS 三个等级
- Guaranteed:所有容器的 CPU/内存 requests 等于 limits,最高优先级
- Burstable:requests 小于 limits,中等优先级
- BestEffort:未设置任何 requests/limits,最先被驱逐
二、配置示例
yaml
resources:
requests:
cpu: "500m"
memory: "256Mi"
limits:
cpu: "1"
memory: "512Mi"内存超过 limits 会触发 OOMKilled;CPU 超过 limits 则被节流(Throttling)。生产环境建议为关键服务设置 Guaranteed QoS,避免节点压力下被误驱逐。