在Kubernetes中,通过为Pod的容器设置resources
字段中的requests
和limits
来限制资源使用,防止浪费。例如:
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "200m"
memory: "256Mi"
延伸知识点:服务质量(QoS)等级。Kubernetes根据资源限制为Pod分配三种QoS等级:
- Guaranteed:所有容器均设置相等且非空的CPU/memory的
requests
和limits
,资源不足时最后被终止 - Burstable:至少一个容器设置
requests
但不满足Guaranteed条件,资源不足时优先于Guaranteed被回收 - BestEffort:未设置任何资源限制的Pod,资源争用时最先被终止。合理设置资源限制可确保关键服务获得Guaranteed等级,避免资源竞争导致的意外中断。