OpenShift Deployment 与 HPA 自动扩缩容实验报告
1. 实验背景
本实验旨在验证 OKD/OpenShift 集群的水平 Pod 自动扩缩容(HPA)功能。通过部署一个 CPU 密集型 PHP 应用,利用华为云镜像加速源,并在单节点 (SNO) 环境下观察 Pod 的动态伸缩行为。
2. 环境说明
- 集群类型: OKD 4.x Single Node OpenShift (SNO)
- 物理内存: 32 GB (宿主机), 20 GB (SNO 节点)
- 命名空间:
hpa-demo - 应用镜像:
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/hpa-example:latest
3. 关键配置
- 资源请求: CPU Request =
10m(0.01 Core),设为极小值以提高灵敏度。 - 扩容阈值: CPU 利用率 >
50%。 - 副本范围: Min
1, Max5。 - 权限配置: 授予
anyuidSCC 权限以允许容器监听 80 端口。
4. 压测数据记录表 (实测数据)
| 实验阶段 | 压力操作 | 实时 CPU 负载 (当前/目标) | Pod 副本数 | 行为观察 |
|---|---|---|---|---|
| 准备阶段 | 无压力 | 0% / 50% | 1 | 初始状态,平稳运行 |
| 触发阶段 | 启动本地 PowerShell curl 循环 | 120% / 50% | 2 -> 4 | 负载瞬间超标,HPA 快速响应 |
| 高峰阶段 | 持续压测 3 分钟 | 200% / 50% | 5 | 副本数达到设定的最大上限 |
| 冷却阶段 | 停止所有 curl 请求 | 10% / 50% | 5 | 负载下降,系统进入 5 分钟观察期 |
| 恢复阶段 | 停止压测约 8 分钟后 | 10% / 50% | 1 | 自动缩容至初始状态,实验成功 |
5. 核心问题解决 (Troubleshooting)
- Permission Denied (Port 80): 通过执行
oc adm policy add-scc-to-user anyuid -z default赋予 root 运行权限解决。 - 灵敏度不足: 通过将 CPU Request 降至
10m,使得少量的 Web 请求也能触发明显的 CPU 百分比上涨。 - 镜像拉取: 选用华为云加速镜像源,确保了在代理环境下的快速部署。
6. 实验结论
- 全自动生命周期: OpenShift 的 HPA 机制能精准、自动地闭环处理业务波峰波谷。
- 资源隔离: 在 SNO 这种单节点环境下,合理设置
limits和requests是保证控制平面不被业务应用压垮的关键。 - 冷却机制重要性: 5 分钟的缩容冷却期能有效避免系统资源频繁波动的开销。
8

被折叠的 条评论
为什么被折叠?



