运行preStop命令时,Kubernetes状态为pod

时间:2015-12-10 06:41:05

标签: kubernetes

我在删除pod时使用preStop命令正常关闭我的服务器应用程序。 pod /容器运行preStop命令时的状态是什么?例如,它是否在运行preStop命令之前停止网络接口?

lifecycle:
    preStop:
      exec:                
        command: ["kill", "-SIGTERM", "`pidof java`"]

2 个答案:

答案 0 :(得分:2)

运行preStop挂钩时,pod的状态不会改变 - preStop挂钩在容器中运行,然后容器停止。

答案 1 :(得分:1)

当终止吊舱时,Kubernetes会做以下事情:

  1. 将Pod切换到Terminating状态
  2. 调用preStop挂钩(如果有)
  3. preStop挂钩结束后,会向容器中的主进程发送SIGTERM(PID 1)
  4. 如果容器没有终止宽限期(默认为30秒 - 从#1点开始计数),Kubernetes将向容器的主进程发送SIGKILL猛烈地阻止它
  5. 此处有更多详情: Graceful shutdown of Kubernetes Pods