金丝雀 Ingress
金丝雀 Ingress
metadata:
name: web-canary
annotations:
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-weight: "20" # 20% 流量
# 或按请求头:
# nginx.ingress.kubernetes.io/canary-by-header: "x-canary"
spec:
rules:
- host: app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web-v2
port:
number: 80观察与收尾
观察与收尾
kubectl get ingress -n prod | grep canary
kubectl -n ingress-nginx logs deploy/ingress-nginx-controller --tail=100 | grep -i canary
# 验证 OK 后:把主 Ingress 指向 v2,删除金丝雀 Ingresscanary-by-header 优先级高于 canary-weight;同名规则请与主 Ingress 保持一致的 host/path。