痛点
Kubernetes 原生 Deployment 只支持 RollingUpdate 和 Recreate 两种策略。对于线上核心业务,RollingUpdate 的问题很明显:
- 无法控制流量比例 — 新版本 Pod 一起来就接收等比流量,没有渐进式验证的过程
- 回滚不够快 — 发现问题后
kubectl rollout undo需要等待新 Pod 重新滚动,P0 故障时每秒都在烧钱 - 缺乏自动化判定 — 无法基于 Prometheus 指标自动判断新版本是否健康,全靠人眼盯监控
生产环境需要的是:先放 5% 流量到新版本,观察 5 分钟,指标正常再逐步加到 50%、100%;异...