在执行 B/G CD 方案时,为什么要考虑使用一个 k8s 集群作为蓝集群,另一个作为绿集群?拥有两个集群的成本是否已经拥有云提供商 HA有道理吗?
答案1
与 HA 无关,它只是让您为一半的客户端测试新代码版本,而另一半运行已知良好的代码,然后您就可以在出现问题时将新代码客户端翻转到旧代码上。就这么简单。
答案2
我更愿意在同一个集群上使用两个不同的部署,例如myapp-blue
和myapp-green
。通过适当的资源管理,甚至节点选择器/污点/容忍度,您可以实现非常高级别的控制,以确保它们不会相互干扰(如果您需要这种级别的分离)。主要原因是,维护两个集群进行蓝绿发布不会带来太多好处。
答案3
根据我的经验,拥有一个单独的集群来运行发布的预生产测试确实很好。您仍在处理实时一致的流量/数据,您可以为某个特定客户端或数据条目进行负载平衡,也可能您正在发布一个新功能以供某个特定组测试。
最近,欧盟针对公司颁布的一项新法律《GDPR》引起了轩然大波,该法律强制企业以不同于其他方式对待欧盟消费者/客户的个人数据。企业可以将欧盟流量路由到符合 GDPR 的蓝色集群。