标签频道
探针
该标签下的文章、提问与讨论帖。
背景 做了 10 年嵌入式,早期写 MCU 固件时"健康"这件事是被看狗强制定义的:主循环喂狗成功 = 活着,喂不上 = 复位。边界极其干净——只看"进程/主循环还在不在跑",不替它检查外设寄存器、DMA、总线有没有挂。 搬到容器化之后,这
【背景】 我在一家中型公司做网络与稳定性,管着一套 60+ 微服务(Java/Go 混合,K8s 1.28,自研 Ingress)。去年经历过一次「健康检查雪崩」: MySQL 主从切换耗时 8 秒,期间所有服务的 /ready 探针(查
【背景】 做 K8s 容器化运维 5 年,探针配置是每个集群都绕不开、但几乎没人认真讨论过的配置项。我复盘过两次线上事故,恰好踩在两个极端: 事故一(重启风暴):一个 Java 订单服务,livenessProbe 配的是 "httpGet
背景 Java 17 / Spring Boot 3,JVM 堆 8G,K8s 1.28,4 副本滚动发布(maxSurge=1 / maxUnavailable=0),核心接口 P99 SLO < 50ms、稳态约 25ms。社区里反复验
«结论先行:liveness 探针的 "timeoutSeconds" 默认只有 1 秒,而一次 Full GC 的 STW 停顿可以轻松到 10 秒以上。当两者错位,一个「健康的」JVM 服务会被 kubelet 误判为死亡并杀掉——更糟
背景 我做了 3 年嵌入式,主力在边缘网关方向。最近把一个 C 语言固件搬进容器跑在 K8s 上:K8s 1.28.9 / containerd 1.7.13 / cgroup v2 / 内核 5.15,节点 4C8G。固件主体是一个 C
背景 15 年云原生,最近在做 K8s 1.28.9(containerd 1.7.13,cgroup v2,内核 5.15,x86_64)集群里一条 5 副本 Java 服务(Spring Boot 3.2.4,JDK 17.0.8,G1
背景 做了 10 年嵌入式,早期写 MCU 固件时"健康"这件事是被看门狗强制定义的:主循环喂狗成功 = 活着,喂不上 = 复位。边界极其干净——只看"进程/主循环还在不在跑",不替它检查外设寄存器、DMA、总线有没有挂。 搬到容器化之后,
结论先行 探针不是「加上就对了」,而是「加错了就是故障放大器」。liveness 决定重启、readiness 决定流量、startup 决定冷启动窗口——三者职责完全不同,最常见的事故是把 startup 该干的事丢给 liveness,
文
标题
摘要