Pod状态变更: 将Pod设置为Terminating状态,并从所有Service的Endpoints列表中删除。 此时, Pod停止获得新的流量, 但在Pod中运行容器不会受到影响;
2 ....terminationGracePeriodSeconds字段用于控制等待时间,默认为30s,该步骤与preStop Hook同时执行, 因此terminationGracePeriodSeconds需要大于preStop的时间,否则会出现preStop未执行完毕...中移除情况,此时,请求从SLB转发到Pod中,而Pod已经停止工作,因此会出现服务中断,如图4所示;
服务中断示意图
image.png
解决办法:
为Pod配置preStop Hook,使Pod收到...SIGTERM时sleep一段时间而不是立刻停止工作,从而确保SLB转发流量还可以继续被Pod处理;
2.4 iptables/ipvs
中断原因: 当Pod变为termintaing状态时,...,只有就绪检查通过后,pod 才会被加入到 Endpoint 中。