灰度发布
优先级:canary-by-header -> canary-by-cookie -> canary-weight
基于header:
# 配置
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-by-header: "canary"
# 访问方式
curl -H "canary: always" http://xxxxxx #都访问carry
curl -H "canary: never" http://xxxxxxx #都不访问carry
curl -H "canary: lalaa" http://xxxxxxx #请求其他 Canary 规则
# 配置
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-by-header: "canary"
nginx.ingress.kubernetes.io/canary-by-header-value: "hahaha"
# 访问方式
curl -H "canary: hahaha" http://xxxxxx #都访问carry
curl -H "canary: lslsls" http://xxxxxx #请求其他 Canary 规则
curl -H "canary: always" http://xxxxxx #请求其他 Canary 规则
curl -H "canary: never" http://xxxxxxx #请求其他 Canary 规则
基于cookie:
# 配置
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-by-cookie: "users_from_Beijing"
# 访问方式
curl -b "users_from_Beijing=always" http://xxxxxx #都访问carry
curl -b "users_from_Beijing=never" http://xxxxxxx #都不访问carry
curl -b "users_from_Beijing=lalala" http://xxxxxx #请求其他 Canary 规则
基于weight:
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-weight: "30"