【问题标题】:How do I setup rolling deployment in Spinnaker?如何在 Spinnaker 中设置滚动部署?
【发布时间】:2018-02-05 09:57:33
【问题描述】:

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

现在我想更进一步,进行滚动发布或金丝雀部署 (https://www.spinnaker.io/concepts/#deployment-strategies),例如,仅向 5% 的客户公开新版本。

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

【问题讨论】:

    标签: spinnaker canary-deployment


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 不确定这如何帮助我将 5% 的流量发送到新版本
    • 如果您有 20 个应用程序副本在运行,并且您将单个副本(即金丝雀)部署到同一个 LoadBalancer 中,那么大约 5% 的流量将到达金丝雀。
    • 哇,有很多副本!我现在已经开始关注 Istio,它似乎可以给我想要的东西。我只需要一个副本,并且仍将流量控制在 5%。
    • 您的问题与 Spinnaker 中的滚动更新/金丝雀部署有关(这就是我提供此答案的原因),但我同意。我认为 Istio 绝对是金丝雀类型部署等的方式。
    • 好的,谢谢。我已将您的答案标记为最佳答案。即使这意味着我可能不会使用 Spinnaker。
    猜你喜欢
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 2023-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多