CentOS 上 Kubernetes 性能测试实操指南
一 测试目标与范围
- 明确目标:验证在 CentOS 上的 Kubernetes 部署是否满足业务的 吞吐、时延、稳定性 与 弹性 要求。
- 测试范围分层:
- 节点与容器运行时:CPU、内存、磁盘 I/O、网络的基础性能。
- 集群网络与服务:Service、Ingress、DNS 解析时延与连通性。
- 应用层:HTTP 吞吐与延迟分布、错误率、P95/P99 等关键指标。
- 弹性与自愈:HPA 扩缩容、Pod 重建与调度时延。
- 可观测性:指标、日志、链路追踪的采集与告警完备度。
二 环境与工具准备
- 集群与连通性:
- 确认节点状态:kubectl get nodes;部署测试用 Nginx:kubectl create deployment nginx --image=nginx;暴露 NodePort:kubectl expose deployment nginx --type=NodePort --port=80;访问验证:curl http://:。
- 压测与观测工具:
- 压测:ab、wrk、k6(HTTP),必要时配合 sysbench、fio(节点基准)。
- 观测:Prometheus + Grafana(指标)、ELK(日志)、可选 Jaeger/OTel(链路)。
- 弹性:HorizontalPodAutoscaler(HPA,基于 CPU/自定义指标)。
- 进阶平台:Anteon(开源,CLI/自托管/云,支持增量与分布式负载、实时监控与服务映射);Tracetest(基于 OpenTelemetry 的追踪驱动测试,适合端到端与 CI/CD 集成)。
三 分阶段测试步骤
- 阶段 1 节点与容器运行时基准
- CPU:sysbench cpu --threads=4 --events=10000 run
- 内存:STREAM(gcc 编译后运行 stream_c.exe,关注 Copy/Scale/Add/Triad)
- 磁盘:fio --ioengine=libaio --bs=4k --direct=1 --rw=randread --runtime=60 --size=1G --name=randread
- 目的:为后续应用指标提供“硬件天花板”参考,排除底层瓶颈。
- 阶段 2 集群网络与服务验证
- 部署 Nginx 并通过 NodePort/Service 访问,验证跨节点连通与服务就绪时延。
- 运行临时调试容器测试 DNS 与网络策略:kubectl run test-pod --image=busybox --restart=Never – wget -O- http://kubernetes.default.svc.cluster.local
- 观察 CoreDNS、kube-proxy、CNI(如 Flannel/Calico)是否正常。
- 阶段 3 应用层 HTTP 性能测试
- 示例(NodePort):kubectl expose deployment nginx --type=NodePort --port=80;压测:ab -n 10000 -c 100 http://:/
- 建议用 wrk/k6 获取更丰富的分位时延与并发能力曲线,并在 Grafana 中建立 请求速率、P50/P95/P99、错误率 面板。
- 阶段 4 弹性与自愈
- 为 Nginx 配置 HPA(示例目标 CPU 利用率 50%,副本 3–10),用压测提升负载,观察 扩缩容时延与稳定性。
- 删除 Pod 验证 Deployment 自愈重建;记录调度与启动耗时。
- 阶段 5 可观测性与问题定位
- 收集 kubelet、容器运行时、网络、CoreDNS、Ingress Controller 等关键组件的 日志与指标;结合 Prometheus/Grafana 与 ELK 分析瓶颈点。
四 关键指标与判定建议
- 节点资源:CPU 利用率、内存占用、磁盘 IOPS/延迟、网络带宽与丢包;压测期间不应触发 节点 OOM/磁盘满。
- 网络与服务:Service 连通成功率 ≈100%;DNS 解析时延稳定;Ingress 5xx 错误率接近 0;P95/P99 随并发增长保持可接受斜率。
- 应用层:在目标并发下,P95/P99 与错误率满足 SLO;HPA 能在预期时间内完成扩缩容且不过度震荡。
- 弹性与自愈:Pod 重建时间稳定;调度与启动耗时在可接受范围内;滚动更新无大面积失败。
五 自动化与持续测试
- 将节点基准与应用压测纳入 CI/CD,在合并/发布前自动执行,产出 HTML/JSON 报告 与阈值门禁。
- 使用 Tracetest 编排基于 OpenTelemetry 的端到端链路测试,结合 Prometheus/Grafana 可视化结果,快速定位跨服务性能瓶颈。
- 采用 Anteon 的 增量负载 与 分布式压测 能力做容量规划与回归测试,利用其 服务映射可视化 与 实时监控 提升问题定位效率。