面试题1: Pod创建流程及生命周期?
-
创建Pod
-
完成Pod调度流程
-
initContainer
-
容器启动并执行postStart
-
livessProbe
-
进入Running状态
-
readinessProbe
-
service关联Pod
-
接收客户端请求
- 删除Pod
- Pod被设置为Terminating状态,从service的endPoints列表中删除并不在接收客户端请求
- 执行PreStop
- k8s向pod中的容器发送SIGTERM信号(正常终止信号)终止Pod里面的主进程,这个信号让容器知道自己很快将会被关闭。
- 经过可选的配置参数terminationGracePeriodSeconds终止等待期,如果有设置宽限时间,则等待宽限时间到期,否则最多等待30秒。
- k8S等待指定的时间称为优雅终止宽限期,默认情况下是30秒,值得注意的是等待期与preStop Hook和SIGTERM信号并行执行,即K8S可能不会等待preStop Hook完成(最长30秒之后主进程还没有介绍就强制终止Pod)。
- SIGKILL信号被发送到Pod,并删除Pod。
- 删除Pod