关键性能指标

集群资源利用率

  • CPU使用率:节点和Pod的CPU使用量/请求量/限制量
  • 内存使用率:节点和Pod的内存使用量/请求量/限制量
  • 存储IOPS:持久卷的读写操作频率
  • 网络吞吐量:节点间/Pod间的数据传输速率

API服务器指标

  • 请求延迟:apiserver的P99响应时间
  • 错误率:5xx错误响应占比
  • 请求队列深度:等待处理的请求数量
  • etcd性能:etcd的写入延迟和存储大小

代理层指标

  • Envoy线程利用率:工作线程的CPU消耗
  • 上游连接数:到后端服务的活跃连接数
  • 请求成功率:HTTP状态码2xx/3xx的比率
  • 熔断器状态:断路器的触发次数

监控工具组合

Prometheus + Grafana

  • 部署Prometheus Operator自动发现监控目标
  • 配置针对Istio/Envoy的专用Dashboard
  • 设置基于Service Level Objective的告警规则

Kiali + Jaeger

  • Kiali可视化服务拓扑和流量流向
  • Jaeger追踪跨服务请求的完整调用链
  • 识别高延迟或异常的错误跨度

开源扩展工具

  • Kube-state-metrics:监控资源对象状态
  • Node-exporter:采集主机级指标
  • cAdvisor:容器资源使用数据采集

优化实践

基准测试方法

  • 使用fortio进行负载测试并生成QPS报告
  • 通过vegeta进行持续压力测试
  • 记录不同并发数下的错误率和延迟变化

配置调优点

  • 调整HPA扩缩容的冷却周期
  • 优化ResourceQuota限制范围
  • 配置合理的PodDisruptionBudget
  • 设置NetworkPolicy控制流量

关键告警规则

  • 持续5分钟CPU饱和度>90%
  • 内存OOM发生频率突增
  • 就绪检查失败率>1%
  • 网络丢包率超过0.5%

性能分析技巧

火焰图生成

  • 使用pprof采集CPU profiling数据
  • 通过FlameGraph工具生成交互式图表
  • 重点分析热点函数调用路径

日志关联分析

  • 将业务日志与TraceID关联
  • 使用Loki聚合日志数据
  • 通过LogQL查询特定请求的完整上下文

容量规划建议

  • 预留30%的CPU缓冲容量
  • 内存配置不超过物理机80%
  • 控制单个节点Pod数量在50个以内
  • 定期执行集群压力测试

更多推荐