【发布时间】:2016-03-17 21:56:03
【问题描述】:
我想知道每种策略的含义以及它们在幕后的运作方式(即 Highlander、Red/Black、Rolling Push)。在官方网站上有这些信息会非常有用。
谢谢
【问题讨论】:
标签: spinnaker
我想知道每种策略的含义以及它们在幕后的运作方式(即 Highlander、Red/Black、Rolling Push)。在官方网站上有这些信息会非常有用。
谢谢
【问题讨论】:
标签: spinnaker
那里有一些有用的信息可以帮助你解决你的问题,我会尽力在下面总结一下。
“有多种技术可以部署新的应用程序 生产,所以选择正确的策略是一个重要的决定, 根据变更对系统的影响权衡选项, 以及最终用户。”
Version A 被终止,然后version B 被推出。Version B 正在慢慢推出并取代 version A。Version B与version A一起释放,然后流量切换到version B。Version B 已发布给部分用户,然后继续全面推出。Version B 在特定条件下发布给部分用户。Version B 与version A 一起接收真实世界的流量,不会影响响应。Spinnaker 将云原生部署策略视为一流的构造,处理底层编排,例如验证运行状况检查、禁用旧服务器组和启用新服务器组。
Spinnaker 支持的部署策略(正在积极开发中):
汉兰达:这种部署策略恰如其分地以电影汉兰达命名,因为那句著名的台词“只能有一个”。使用这种策略,有一个负载均衡器面向单个集群。 Highlander 在部署完成后销毁之前的集群。这是最简单的策略,当回滚速度不重要或需要降低基础设施成本时,它很有效。
红/黑:这种部署策略也称为蓝/绿。红/黑策略使用负载均衡器和两个目标集群/服务器组(称为红/黑或蓝/绿)。负载均衡器将流量路由到活动(启用)集群/服务器组。然后,一个新的部署替换禁用的集群/服务器组中的服务器(w/K8s 提供程序 -> 副本集和 Pod)。当新启用的集群/服务器组准备就绪时,负载均衡器会将流量路由到此集群,而之前的集群将被禁用。当前禁用的集群/服务器组(之前启用的集群/服务器组)由 Spinnaker 保留,以防下一次 X 部署需要回滚(这是一个可配置参数)。
滚动红/黑:是一种较慢的红/黑,具有更多可能的验证点。该过程与红/黑相同,但不同之处在于流量如何切换。上图说明了这种差异。蓝色是启用的集群。蓝色实例逐渐被绿色集群中的新实例替换,直到所有启用的实例都运行最新版本。推出可能以 20% 的增量进行,因此它可以是 80/20、60/40、40/60、20/80 或 100%。在部署完成之前,蓝/绿集群都会接收流量。
Canary:部署是一个过程,其中部分部署更改,然后在继续之前根据基线指标进行测试。此过程通过将爆炸半径限制在用户群的一小部分来降低更改在完全推出后导致问题的风险。配置金丝雀时设置基线指标。指标可能是错误计数或延迟。高于基线的错误计数或延迟峰值会杀死金丝雀,从而停止管道。
【讨论】:
据我了解:
在我的公司,我们只定期使用 Highlander 和 Red/Black。
【讨论】: