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 为例,给出一
适用场景 Linux 服务器上的 Java、Python、Go 或 Node.js 服务由 systemd 托管。发布后或依赖异常时,进程在几秒内连续退出;即使问题随后已修复,执行 systemctl restart 仍失败,状态显示为 failed,日志里出现 Start request repeated too q
适用场景 Redis 采用主从复制,业务高峰时偶发写入延迟、主库 CPU 或网络突刺。日志中反复出现 Full resync requested、Partial resynchronization not accepted,从库短时间内加载 RDB,甚至与主库断开后很久才恢复。 本文适用于 Redis 6/7 的单主多
适用场景 业务表按租户、状态和创建时间查询列表。数据量从几十万增长到千万级后,接口 P95 延迟突然升高;应用监控中数据库耗时占比明显增加,但 CPU 和磁盘利用率并不一定很高。 本文以常见的订单列表为例,说明如何确认“建了索引却没有用好”的联合索引问题,并在不影响线上写入的前提下完成优化。 现象描述 接口执行的 SQ
适用场景 线上服务出现间歇性超时、请求延迟抖动、连接偶发重置,但应用日志没有明显报错,CPU 总使用率也不高。进一步观察会发现某几颗 CPU 的 si 软中断占用很高,网卡统计里存在 rx_dropped、rx_missed_errors 或 ring buffer 溢出。这类问题常见于高并发网关、Nginx 入口机、
适用场景 这篇文章适用于线上服务出现“偶发连接超时、重试后成功、服务 CPU 不高但新连接建立慢”的问题,尤其是 Nginx、网关、Java/Python Web 服务、RPC 服务或四层代理在流量突增时出现以下现象: 客户端报 connection timed out、connect timeout 或偶发 502/
适用场景 本文适用于线上 MySQL 出现以下情况: 接口偶发变慢,慢查询集中在 ORDER BY、GROUP BY、DISTINCT、复杂分页或报表 SQL 上。 数据库实例的磁盘使用率短时间上涨,过一段时间又自动回落。 tmpdir 所在分区 IO 使用率升高,甚至出现 No space left on devic
适用场景 这篇文章适用于 Pod 一直停留在 Pending、ErrImagePull 或 ImagePullBackOff,业务发布后没有新实例可用的场景。常见环境包括自建 Kubernetes、云厂商托管集群、私有镜像仓库 Harbor、阿里云/腾讯云镜像仓库,以及通过 CI/CD 自动更新镜像 tag 的发布链路
适用场景 本文适用于线上 Redis 开启 AOF 持久化后,业务在某些时间段出现接口变慢、写入超时、Redis used_cpu_sys 升高、磁盘 await 或 util 接近打满的场景。常见部署形态包括单机 Redis、主从 Redis、哨兵架构,以及运行在云主机本地盘或云盘上的 Redis 实例。 重点关注下
适用场景 本文适用于 Kubernetes 中业务 Pod 间歇性进入 CrashLoopBackOff、RestartCount 持续增长、服务短时间不可用,但应用日志里又看不到明确业务异常的场景。常见于 Spring Boot、Django、Go HTTP 服务、Node.js 服务等 Web 应用,尤其是刚接入健