Skip to content

1.节点资源压力告警,触发 MemoryPressure 或 DiskPressure

1.1 问题点

Kubernetes 节点报告内存或磁盘资源压力,标记节点状态为 NotReady 或应用 MemoryPressureDiskPressure 污点,导致调度器不再将新 Pod 调度到该节点

影响范围:

  • 直接影响:节点上的现有 Pod 可能因资源不足而性能下降或被系统强制终止。
  • 间接影响:集群的整体资源利用率降低,新部署或扩缩容的操作受阻,可能导致服务容量不足或响应延迟

1.2 排查方法

  1. 查看节点状态:使用 kubectl get node 查看所有节点状态,重点关注 Conditions 列中的 MemoryPressureDiskPressure 状态。
  2. 检查资源使用情况:使用 kubectl top nodes 查看节点的实时资源使用率,对比节点的总资源容量,判断是否存在过度消耗。
  3. 分析资源消耗大户:使用 kubectl top pods --all-namespaces --sort-by=memory--sort-by=cpu 查找占用资源最多的 Pod,分析其资源使用合理性。
  4. 检查磁盘使用情况:对于 DiskPressure,使用 df -hdu -sh /*(在节点上执行)查看磁盘空间使用情况,定位占用空间大的目录。
  5. 清理资源或调整策略:根据分析结果,可能需要清理无用数据、优化 Pod 资源请求/限制、调整日志留存策略、迁移部分工作负载到其他节点等