首页/开发/CI/CD 与发布速查/NGINX Ingress 金丝雀注解
发布策略60 条

NGINX Ingress 金丝雀注解

Ingress-NGINX 用注解实现金丝雀:给金丝雀 Ingress 设置 canary 标记与权重,按比例或 header/cookie 把请求分流到新版本服务。

CI/CD 与发布速查开发更新于 2026-10-12
开启canary: "true"
权重canary-weight(0-100)
定向canary-by-header / canary-by-cookie
优先级header/cookie 命中优先于权重

金丝雀 Ingress

金丝雀 Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/canary: "true"
    nginx.ingress.kubernetes.io/canary-weight: "10"
    nginx.ingress.kubernetes.io/canary-by-header: x-canary
    nginx.ingress.kubernetes.io/canary-by-header-value: "true"
主 Ingress 与金丝雀 Ingress 指向不同 Service:新版本单独一组工作负载,回退只需改权重。

易错点

  • 注解值类型写错(布尔/字符串):规则不生效,流量全部走主版本
  • 金丝雀与主版本共用同一 Service:两版本混在同一负载内,比例不可控

数据来源与参考

  • Ingress-NGINX 文档《Canary Deployments》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌