如何在Spinnaker中设置滚动部署?

如何在Spinnaker中设置滚动部署?,spinnaker,canary-deployment,Spinnaker,Canary Deployment,我刚开始尝试Spinnaker。我已经完成了教程,并且没有任何问题 现在我想更高级一点,做一个滚动发布或canary部署(),例如,在这种情况下,只向5%的客户公开一个新的发布 我在spinnaker.io(或谷歌)上找不到任何关于如何设置的指南。有人能给我指引正确的方向吗?最近我自己也在Spinnaker和Canary部署上进行了PoC的实验,以下是我迄今为止的发现 要实现滚动发布,只需在Spinnaker中创建一个Deploy阶段,并在服务器组配置中将部署策略设置为RollingUpdate

我刚开始尝试Spinnaker。我已经完成了教程,并且没有任何问题

现在我想更高级一点,做一个滚动发布或canary部署(),例如,在这种情况下,只向5%的客户公开一个新的发布


我在spinnaker.io(或谷歌)上找不到任何关于如何设置的指南。有人能给我指引正确的方向吗?

最近我自己也在Spinnaker和Canary部署上进行了PoC的实验,以下是我迄今为止的发现

要实现滚动发布,只需在Spinnaker中创建一个
Deploy
阶段,并在服务器组配置中将部署策略设置为
RollingUpdate
。在更改部署策略之前,您需要确保选中了
部署
复选框

对于金丝雀的部署,它更复杂一些。我认为金丝雀阶段目前还不支持Kubernetes部署,但显然,您可以手动将金丝雀(例如1个副本)部署到运行应用程序的同一Kubernetes负载平衡器中。这是使用单独的Spinnaker服务器组完成的

然后,您可以将手动判断添加到Spinnaker管道,该管道将暂停,直到您测试/验证金丝雀。一旦金丝雀被验证,您将“继续”手动判断,新服务器组将被部署,旧服务器组将被禁用,金丝雀将被销毁


如果您不想使用手动判断,并且希望完全自动化,可以添加ACA阶段(自动金丝雀分析)。这涉及到建立一个Spinnaker可以连接的法官,该法官将收集各种指标并提供ACA分数。然后,您可以使用该分数来决定是继续部署还是停止部署。

如果您有20个正在运行的应用程序副本,并且将单个副本(即金丝雀)部署到同一个负载平衡器中,则不确定这如何帮助我将5%的流量发送到新版本,然后,大约5%的流量将击中金丝雀。哇,这是大量的复制品!我现在已经开始关注Istio了,它似乎可以满足我的需求。我只需要每个副本的一个副本,并且仍然将流量控制在5%以下。您的问题与Spinnaker中的滚动更新/Canary部署有关(这就是我提供此答案的原因),但是我同意。我认为Istio绝对是金丝雀型部署的方式。好的,谢谢。我已把你的答案标为最好的。即使这意味着我可能不会使用Spinnaker。