Files
Deploy-Laboratory/docs/04-05-nodejs-资源请求与限制.md
jack 8c43761962 feat: 按 doc_id 重组 ansible/files 与验证框架
- ansible/files 改为与文档 XX-YY 对齐的目录结构,更新相关 playbook 路径
- 新增 scripts/verify.sh 与 ansible/playbooks/verify/*.yml,移除单体 verify-matrix.yml
- 补充 docs/00-02 矩阵状态、00-05 验证框架与流程、00-04 环境与 ylc65 工作机说明
- 增加 k3s 存储准备、Longhorn、local-path 等 playbook 与辅助脚本

Made-with: Cursor
2026-03-26 07:01:14 +08:00

2.1 KiB
Raw Blame History

04-05-nodejs-资源请求与限制

nodejs-demo 配置 resources.requests / resources.limits,便于调度与避免单个 Pod 占满节点;为后续 HPA04-13-nodejs-HPA.md)提供基础。

前置条件

  • 已部署 nodejs-demo04-01)。

清单路径(唯一真源)

| 本篇完整清单 | ansible/files/04-01-nodejs-demo/04-05-nodejs-demo.yaml | | 应用 | kubectl apply -f ansible/files/04-01-nodejs-demo/04-05-nodejs-demo.yaml |

场景说明(白话)

  • requests请求量:告诉调度器「我常态大概要多少 CPU/内存」,方便排布;CPU 类 HPA 也会用到(见 04-13)。
  • limits上限:内存超过上限,容器可能被 OOM 杀掉CPU 超过上限会被 限流,变慢但不一定重启。
  • Node 堆:还可以用 NODE_OPTIONS=--max-old-space-size=... 限制 V8 堆,和容器内存 limit 配合用(见 04-03)。

相对 04-04 的变更(原文 → 新文)

位置 原文(04-04 新文(04-05
containers[].resources (无) requests cpu 50m / memory 64Milimits cpu 500m / memory 256Mi

部署与验证

kubectl apply -f ansible/files/04-01-nodejs-demo/04-05-nodejs-demo.yaml
kubectl describe pod -l app=nodejs-demo -n default | grep -A5 "Limits\|Requests"

若集群已装 metrics-server

kubectl top pod -l app=nodejs-demo -n default

删除限制

resources 整段删除或设为合理值后 kubectl apply

失败排查

  • OOMKilled:提高 limits.memory 或降低 Node 堆/优化代码;kubectl describe podLast State
  • CPU 节流:延迟升高;调大 limits.cpu 或优化热点。
  • 06-01-k3s-networkpolicy-故障排查.md(与网络无关时仍可先排除入口问题)

相关文档