CFN Cloud
Cloud Future New Life
en zh
2025-10-06 · 0 次浏览

金丝雀发布

用小流量验证新版本,再逐步扩大。

金丝雀发布的目标是:让新版本先接一小部分流量,验证稳定后再扩大比例。

常见做法

  • 两个 Deployment:track=stabletrack=canary
  • Service 先指向 stable,再逐步引入 canary
  • 结合指标与日志判断是否放量

示例思路

# 稳定版本
labels:
  app: api
  track: stable
# 金丝雀版本
labels:
  app: api
  track: canary

发布节奏

  1. 先让 canary 运行起来
  2. 小流量验证(或灰度用户)
  3. 观察错误率与延迟
  4. 扩大比例,必要时回滚

常见坑

  • 指标没有看清楚就放量
  • 没有单独的监控维度区分版本

实操要点

  • 先做快速盘点:kubectl get nodeskubectl get pods -Akubectl get events -A
  • 对比“期望状态”和“实际状态”,kubectl describe 往往能解释漂移或失败原因。
  • 名称、Label、Selector 要一致,避免 Service 或控制器找不到 Pod。

快速检查清单

  • 资源定义与业务意图一致。
  • Namespace、权限、镜像与环境匹配。
  • 上线前具备健康探针与可观测日志。

参考链接