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

53 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 04-05-nodejs-资源请求与限制
> 为 `nodejs-demo` 配置 `resources.requests` / `resources.limits`,便于调度与避免单个 Pod 占满节点;为后续 **HPA**[`04-13-nodejs-HPA.md`](04-13-nodejs-HPA.md))提供基础。
## 前置条件
- 已部署 `nodejs-demo``04-01`)。
## 清单路径(唯一真源)
| 本篇完整清单 | [`ansible/files/04-01-nodejs-demo/04-05-nodejs-demo.yaml`](../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 64Mi`limits` cpu 500m / memory 256Mi |
## 部署与验证
```bash
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**
```bash
kubectl top pod -l app=nodejs-demo -n default
```
## 删除限制
`resources` 整段删除或设为合理值后 `kubectl apply`
## 失败排查
- **OOMKilled**:提高 `limits.memory` 或降低 Node 堆/优化代码;`kubectl describe pod``Last State`
- **CPU 节流**:延迟升高;调大 `limits.cpu` 或优化热点。
- `06-01-k3s-networkpolicy-故障排查.md`(与网络无关时仍可先排除入口问题)
## 相关文档
- [`04-13-nodejs-HPA.md`](04-13-nodejs-HPA.md)
- [`04-06-nodejs-探针与健康检查.md`](04-06-nodejs-探针与健康检查.md)