- 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
53 lines
2.1 KiB
Markdown
53 lines
2.1 KiB
Markdown
# 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)
|