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