第3章 容器资源调度与 Requests/Limits
本章聚焦 Kubernetes 资源调度的核心机制:Requests/Limits 的作用、超卖风险以及 QoS 等级对调度与驱逐的影响。面试官常通过此类题目考察候选人对资源模型、调度器行为及稳定性保障的深度理解。
面试问题1:请解释 Kubernetes 中 Requests 和 Limits 的作用及其对调度的影响?
- 面试官考察点:基础概念清晰度、调度原理掌握程度。
- 回答框架:定义 Requests(调度保障)→ 定义 Limits(运行时限制)→ 调度器使用 Requests 做节点选择 → 超卖产生的原因(Limits > Requests)。
- 示例回答:Requests 是容器启动时声明的资源需求下限,调度器据此筛选可用节点。Limits 是资源使用上限,超限时触发限流或驱逐。两者不一致时允许超卖,提升利用率但也带来稳定性风险。
- 可能追问:如何合理设置 Requests/Limits 比例?QoS 等级如何划分?
- 避坑提醒:勿将 Limits 当作调度依据,调度器只认 Requests;也不要忽略超卖可能导致的节点过载。
面试问题2:什么是资源超卖?Kubernetes 中如何实现超卖?有什么风险?
- 面试官考察点:对超卖机制的理解、风险意识及应对策略。
- 回答框架:超卖定义 → 实现方式(Limits > Requests)→ 优势(资源利用率)→ 风险(OOM、Pod 驱逐、延迟抖动)→ 预防手段(准入控制、监控告警)。
- 示例回答:超卖指节点上所有 Pod 的 Limits 总量超过节点容量,通过设置 Limits > Requests 实现。优点是可运行更多 Pod,缺点是突发流量易导致内存 OOM 或 CPU 节流,关键业务可能被驱逐,需配合 HPA 和 PodDisruptionBudget 防护。
- 可能追问:如何计算合理的超卖比?如何监控节点实际资源压力?
- 避坑提醒:不要认为超卖没有代价;必须建立基于实际使用率的动态超卖策略,而非固定比例。
面试问题3:请说明 Kubernetes QoS 等级的分类及调度与驱逐行为上的差异。
- 面试官考察点:QoS 精细理解、优先级与驱逐顺序的掌握。
- 回答框架:三类 QoS:Guaranteed(requests=limits)、Burstable(requests<limits)、BestEffort(无 requests/limits)→ 调度优先级(Guaranteed 得分高)→ 驱逐顺序(BestEffort 最优先)。
- 示例回答:Guaranteed 类 Pod 资源有保障,节点紧张时最后被驱逐;Burstable 有一定保障但可能被限流;BestEffort 无任何保证,最先被杀死。调度时 Guaranteed 更容易获得节点资源评分高分。
- 可能追问:如何通过调整 QoS 等级提升关键业务稳定性?QoS 与 PriorityClass 如何协同?
- 避坑提醒:QoS 等级不直接决定调度结果,而是影响评分和驱逐优先级;不要忽略 PriorityClass 的覆盖作用。
📦 真实项目案例:金融核心交易系统容器化容量规划
| 项目名称 | 金融核心交易系统容器化容量规划 |
| 业务背景 | 从传统虚拟机迁移至 Kubernetes,需保障日交易峰值 1 亿笔场景下的资源供给与稳定性,同时降低 30% 硬件成本。 |
| 规模指标 | 5,000+ 节点,10 万+ Pod,日均交易量 1 亿,峰值 QPS 50 万。 |
| 技术栈 | Kubernetes 1.22(Docker 运行时)、Prometheus + Grafana 监控、集群 HPA、自定义调度器插件。 |
| 核心难点 | 流量洪峰导致节点资源紧张,超卖过度引发交易延迟抖动;传统固定超卖比无法适应业务潮汐。 |
| 面试高频追问 | ① 如何评估节点合理超卖比?② 突发流量导致 Pod 驱逐时如何优雅降级?③ 容量规划数据如何与业务指标联动? |
| 可迁移回答话术 | “我们基于历史资源使用率的 85 分位 + 业务波动系数动态调整超卖比例,并利用 Prometheus 实时监控节点压力水位。同时为关键交易 Pod 设置 Guaranteed QoS 和 PriorityClass,配合 PodDisruptionBudget 实现驱逐保护。” |
💡 面试加分技巧:回答资源调度问题时,主动将 Requests/Limits、QoS、超卖三者串联成一条决策链,展示系统性思维。例如:“调度器先通过 Requests 筛选节点,随后根据 Requests/Limits 比值赋予 QoS 等级,最终结合优先级决定 Pod 放置和驱逐顺序,而超卖风险需要通过动态监控与准入控制来平衡。”