应用优雅上下线

1. 概述

kubernetes滚动升级的过程:

  1.  集群Deployment 或者 Statefulset 发生变化,触发部署滚动升级;
  2.  根据 Deolyement 等配置,K8S集群首先启动新的POD来替代老 POD;
  3.  Deployemnt 根据配置调度 POD,拉取镜像,此时 POD 进入 Pending 状态;
  4.  POD 绑定到Node上,启动容器,在就绪检查readinessProbe 探针通过后,新的POD进入Ready状态;
  5.  K8S集群创建Endpoint,将新的POD纳入Service 的负载均衡;
  6.  K8S集群移除与老POD相关的Endpoint,并且将老POD状态设置为Terminating,此时将不会有新的请求到达老POD,同时调用PreStop Hook执行配置的脚本;
  7.  K8S集群会给老POD发送SIGTERM信号,

猜你喜欢

转载自yq.aliyun.com/articles/717368