
一、问题背景为什么需要优雅下线?K8s 滚动更新时,Pod 终止的默认行为:1. Pod 从 Endpoints 移除(kube-proxy 更新 iptables) 2. 发送 SIGTERM 给容器 3. 等待 terminationGracePeriodSeconds(默认 30s) 4. 发送 SIGKILL 强杀问题:Nacos 注册中心与 K8s Endpoints 是两套独立的服务发现。Pod 从 K8s Endpoints 移除后,Nacos 仍认为实例健康(心跳未超时),上游服务继续通过 Nacos 路由流量到已终止的 Pod,导致请求失败。影响范围场景丢失时长影响无 preStop15-30 秒(Nacos 心跳超时)上游调用报 Connection refused只 DELETE1-3 秒(Ribbon 缓存未刷新)极少量请求失败enabled=false + DELETE(