金丝雀发布
金丝雀发布流程
推荐配置
注意:金丝雀策略仅适用于Deployment。
apiVersion: rollouts.kruise.io/v1beta1
kind: Rollout
metadata:
name: rollouts-demo
spec:
workloadRef:
apiVersion: apps/v1
kind: Deployment
name: workload-demo
strategy:
canary:
enableExtraWorkloadForCanary: true
steps:
- traffic: 20%
trafficRoutings:
- service: service-demo
ingress:
classType: nginx
name: ingress-demo
行为解释
当您为workload-demo
应用新修订版本时:
workload-demo
工作负载将被暂停,不会更新任何Pod;- 将创建一个新的金丝雀Deployment,其副本数为
workload-demo
的“20%”(总计将有120%
的Pods); 20%
的流量将被引导到新的金丝雀Deployment的Pods。
当您认为金丝雀验证已经通过并确认进行下一步时:
workload-demo
工作负载将使用本机滚动更新策略进行升级;- 流量将恢复到原始的负载均衡策略;
- 金丝雀Deployment和Pods将被删除。