Kubernetes HPA 不扩容:从 metrics-server 指标缺失到恢复弹性的排查实践
适用场景 部署在 Kubernetes 中的 Web、API 或消费服务在高峰期 CPU 已长期接近上限,但 HorizontalPodAutoscaler(HPA)始终保持原副本数;也可能在 kubectl get hpa 中看到 CPU 显示为 <unknown>。本文以基于 CPU 利用率的 HPA 为例,给出一
Tag
包含这个标签的文章。
适用场景 部署在 Kubernetes 中的 Web、API 或消费服务在高峰期 CPU 已长期接近上限,但 HorizontalPodAutoscaler(HPA)始终保持原副本数;也可能在 kubectl get hpa 中看到 CPU 显示为 <unknown>。本文以基于 CPU 利用率的 HPA 为例,给出一
适用场景 Redis 采用主从复制,业务高峰时偶发写入延迟、主库 CPU 或网络突刺。日志中反复出现 Full resync requested、Partial resynchronization not accepted,从库短时间内加载 RDB,甚至与主库断开后很久才恢复。 本文适用于 Redis 6/7 的单主多
适用场景 本文适用于 Prometheus 运行一段时间后出现以下现象的场景: Prometheus 数据目录持续膨胀,磁盘空间很快被打满; prometheus_tsdb_head_series、prometheus_tsdb_head_chunks 持续上涨; 查询变慢,Prometheus 重启时间明显变长; 日
适用场景 本文适用于 Kubernetes 集群中出现以下问题的场景: 新发布的 Pod 长时间处于 Pending 状态; kubectl describe pod 中看到 node(s) had disk pressure; 节点状态出现 DiskPressure=True; 容器镜像、日志或临时目录占满节点磁盘,
适用场景 本文适用于线上 Redis 开启 AOF 持久化后,业务在某些时间段出现接口变慢、写入超时、Redis used_cpu_sys 升高、磁盘 await 或 util 接近打满的场景。常见部署形态包括单机 Redis、主从 Redis、哨兵架构,以及运行在云主机本地盘或云盘上的 Redis 实例。 重点关注下
适用场景 本文适用于 Kubernetes 中业务 Pod 间歇性进入 CrashLoopBackOff、RestartCount 持续增长、服务短时间不可用,但应用日志里又看不到明确业务异常的场景。常见于 Spring Boot、Django、Go HTTP 服务、Node.js 服务等 Web 应用,尤其是刚接入健
适用场景 本文适用于 Prometheus 已经配置了 scrape_configs,但在 Targets 页面看到目标实例显示 DOWN,或者 PromQL 查询 up{job="xxx"} == 0 的场景。常见对象包括 node_exporter、应用自暴露的 /metrics、Kubernetes Servic
适用场景 这篇文章适用于线上服务突然退出、容器被重启、systemd 日志里只有 Killed、监控显示内存瞬时打满,但应用日志没有明确异常栈的场景。常见环境包括物理机、云主机、Docker 容器和 Kubernetes 节点。 OOM Killer 的本质是内核在内存不可回收时主动选择进程终止,以保证系统还能继续运行