金丝雀发布一般先发 1 台,或者一个小比例,例如 2% 的服务器,主要做流量验证用,也称为金丝雀 (Canary) 测试(国内常称灰度测试)。以前旷工开矿下矿洞前,先会放一只金丝雀进去探是否有有毒气体,看金丝雀能否活下来,金丝雀发布由此得名。简单的金丝雀测试一般通过手工测试验证,复杂的金丝雀测试需要比较完善的监控...
灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度,而我们平常所说的金丝雀发布也就是灰度发布的一种方式。 小插曲(为什么叫金丝雀发布) 矿井中的金丝雀 17世纪,英国矿井工人发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱;而当瓦斯含量超过...
spec.template 字段和 Deployment 工作负载的字段定义是一致的,在这里,我们使用了 argoproj/rollouts-demo:blue 镜像来创建生产环境的工作负载,并定义了 strategy.canary 字段,它代表使用金丝雀发布的策略。其他的字段也简单介绍一下:canaryService 表示金丝雀 Service 的名称;stableService 表示生产环境 Service 的名称,...
灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B 蓝绿发布是部署一套新版本的环境,待充分测试验证以后再发布,这样比较消耗资源,所以可以先更新一部分pod或者一定比例的pod,新版本的pod运行一段时间后,...
金丝雀发布,亦称灰度发布,与蓝绿部署有所不同。它并非直接进行全量替换,而是采用逐步推广策略,通过扩散流量至新功能节点,验证后全面推广。步骤一:将待部署节点的流量移出,并将其服务更新至待发布状态,此节点即被称为金丝雀节点。步骤二:根据既定策略,逐步将流量引入金丝雀节点。这些策略灵活多样,例如随机样本...
金丝雀发布 金丝雀发布(canary release)的名字很是好听。我们都知道以前矿工在下井采矿之前会把一种名叫金丝雀的鸟儿投入或携带到矿井中,如果鸟儿能够从矿井中飞出就表示井下有氧气,矿工就可以安心下井采矿了。通过这个故事的讲述我们可能已经猜到金丝雀发布的含义了。是的,所谓金丝雀发布就是把应用程序的某个新版...
灰度发布 Gray Release(又名金丝雀发布 Canary Release) 金丝雀发布有一个有趣的小故事,被称为「金丝雀在矿井」。这个故事用来形象地描述金丝雀发布策略的概念。 故事背景是在过去的煤矿开采中,矿工们面临着一种危险的情况,即有毒气体的积累。由于无法直接检测到这些气体,矿工们需要一种警报机制来提醒他们是否面临危...
通过Ingress-Nginx网关,流量被按比例分配到生产与金丝雀环境,灵活支持基于Header的流量识别。金丝雀发布通过Ingress-Nginx网关实现流量的负载均衡,可以向生产环境发送大部分流量,而只向新环境发送小部分流量。此外,这种策略还能通过特定的Header来识别和分发流量,如带有特定请求头(X-Canary)的流量会被智能地转发至...
金丝雀发布,与蓝绿部署不同的是,它不是非黑即白的部署方式,所以又称为灰度发布。它能够缓慢的将修改推广到一小部分用户,验证没有问题后,再推广到全部用户,以降低生产环境引入新功能带来的风险。img canarydeployment.png 步骤一:将流量从待部署节点移出,更新该节点服务到待发布状态,将该节点称为金丝雀节点...
蓝绿发布与灰度发布的比较在于,两者都关注新旧版本的过渡,但蓝绿发布强调无中断,并拥有更详细的测试阶段,使得发布更加安全可靠。金丝雀发布通过小流量试点发布新版本,并根据反馈快速推广或回滚。它得名于金丝雀对矿场毒气的敏感特性,工人们会将其放入矿场以验证是否存在毒气。其特点在于能够在线上环境中逐步引入新...