k8s中探针与钩子

用通俗语言表达

探针

startupProbe: 解决慢启动问题,在startupProbe 成功之前,不会执行livenessProbe和readinessProbe

livenessProbe: 服务存活检查

readinessProbe: 服务就绪检查

---

钩子

postStart: 和Init container 作用类似,但是在容器 被创建之后立即异步执行。不保证在主进程(如 command)启动之前完成!

                   即:postStart 和主应用是并发执行的,可能主程序已经运行了,postStart 还没结束。

    •   发送通知(如 webhook)
    •   初始化临时文件或目录
    •   动态注册服务(如写入 Consul)
    •   等待依赖(但更推荐用 Init Container)

 

preStop: 服务优雅下线,

         触发时机

 

    •    在容器 收到终止信号(SIGTERM)之前同步执行。
    •   kubelet 会 等待 preStop 执行完成,然后再发送 SIGTERM 给主进程。
    •   是实现 优雅停机(Graceful Shutdown) 的关键机制。

 

    🎯 典型用途

 

  •           关闭长连接(如 WebSocket)
    • 从服务注册中心注销(如 Eureka、Consul)
    • 等待正在处理的请求完成
    • 清理临时资源(如删除锁文件) 
    • lifecycle: preStop: exec: command: ["/usr/sbin/nginx", "-s", "quit"]

 

Init Containers: 初始化容器

 

posted @ 2025-11-12 11:39  lavida2000  阅读(4)  评论(0)    收藏  举报