1

我刚开始尝试 Spinnaker。我已经阅读了教程https://www.spinnaker.io/guides/tutorials/codelabs/gcp-kubernetes-source-to-prod/,并且没有问题地工作。

现在我想更高级一点,进行滚动发布或金丝雀部署(https://www.spinnaker.io/concepts/#deployment-strategies),例如,可以只公开一个新的发布给 5% 的客户。

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

4

1 回答 1

1

最近,我自己一直在试验并在 Spinnaker 和 Canary 部署上进行 PoC,这就是我目前所发现的。

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

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

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

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

于 2018-02-11T20:53:56.320 回答