You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

nginx-ingress snippet中判断金丝雀环境可用的属性是什么

校验条件填写方案

你可以根据实际的金丝雀分流配置选择对应判断条件:

通用全场景适配(支持权重、Cookie、Header等任意金丝雀分流规则)

nginx-ingress-controller 会为所有命中金丝雀规则、被路由到绿服务的请求自动注入内置变量$canary,命中时值为1,未命中时值为0,直接按以下方式填写即可:

if ($canary = 1) {
  # 金丝雀(绿)服务对应配置
} else {
  # 生产(蓝)服务对应配置
}

提示:你原示例中的canary缺少变量前缀$,nginx 变量必须加$才能正常识别。


仅适配当前Cookie分流场景

你当前的绿Ingress配置了nginx.ingress.kubernetes.io/canary-by-cookie: "green",符合金丝雀规则的请求会携带值为always的green cookie,也可以直接判断cookie值:

if ($cookie_green = "always") {
  # 金丝雀(绿)服务对应配置
} else {
  # 生产(蓝)服务对应配置
}

注意:如果后续你给绿Ingress新增了nginx.ingress.kubernetes.io/canary-weight按比例分流规则,部分无Cookie的请求也会被路由到金丝雀,这个场景下只有第一种$canary变量的判断方式是准确的。

内容的提问来源于stack exchange,提问作者Manolo Carrasco Moñino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:00:01