Kube-apiserver會接受到用戶的刪除指令,默認有30秒時間等待優雅退出,超過30秒會被標記為死亡狀態,此時Pod的狀態Terminating,kubelet看到pod標記為Terminating就開始了關閉Pod的工作;
關閉流程如下:
1. pod從service的endpoint列表中被移除;
2. 如果該pod定義了一個停止前的鉤子,其會在pod內部被調用,停止鉤子一般定義了如何優雅的結束進程;
3. 進程被發送TERM信號(kill -14)
4. 當超過優雅退出的時間后,Pod中的所有進程都會被發送SIGKILL信號(kill -9)。