在 K8s 跑 Next.js,liveness/readiness probe 一直没配顺。配错要么 Pod 频繁重启,要么起不来不感知。
我的配置:
livenessProbe:
httpGet: { path: /api/health, port: 3000 }
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet: { path: /api/health, port: 3000 }
initialDelaySeconds: 5
periodSeconds: 5
注意:
- Next.js 自定义一个
/api/health路由,只返 200,别走中间件。 initialDelaySeconds要大于冷启动时间,否则 Pod 被误杀。- readiness 失败只会摘流,liveness 失败会重启,区分开。
startupProbe(K8s 1.18+)更适合慢启动应用。
大家的探针都咋配?