考点精讲
- 资源管理围绕 request 和 limit 两个核心概念展开。request 是容器申请的资源量,是调度器决定把 Pod 放到哪个节点的依据,也用于资源预留;limit 是容器运行时能使用的资源上限。CPU 的单位是核,1 核 = 1000m;内存单位用 Mi、Gi。kube-scheduler 的调度分两步:先过滤(filtering)——剔除不满足硬性条件(资源、节点选择等)的节点;再打分(scoring)——给剩余节点按策略评分,选最优者。若集群资源不足,Pod 会一直处于 Pending 状态;运行中超出 limit 还可能触发驱逐。排查 Pending 时,用 kubectl describe pod 看事件里是否提示资源不足。
记忆技巧
request 占座、limit 封顶
调度两步走:先过滤后打分
调度两步走:先过滤后打分
常见误区
- 只设 limit 不设 request,调度不可控
- 混淆 CPU 单位 m(1 核=1000m)
- 以为设了 limit 就一定有资源(实际由 request 预留)
真题思路
- 【示例】本页题目为教学模拟题,非真题,仅用于讲解答题思路 调度器为 Pod 选择节点时,决定资源是否足够的依据是?
limit request 镜像大小 Pod 数量
答案:B
解析:request 是调度与资源预留的依据,决定节点是否有足够资源;limit 只是运行上限,不参与调度判断。
常见问题
Q:request 和 limit 区别
A:request 是调度与预留依据,limit 是运行上限。
Q:CPU 单位 m 怎么理解
A:1 核 = 1000m,500m 即半核。
Q:Pod 一直 Pending 怎么排查
A:kubectl describe pod 看事件,常见原因是资源不足或节点不可调度。
相关知识
教材出处:第12章 Kubernetes资源调度 资源管理与调度器