spinnaker - 每个Spinnaker部署策略是什么意思?

标签 spinnaker

我想知道每种策略的含义以及它们在幕后的工作方式(例如,汉兰达,红/黑,滚动推杆)。在官方网站上获得此信息将非常有用。

谢谢

最佳答案

那里有有用的信息可以帮助您解决问题,我将尽力在下面进行总结。
部署类型和策略简介

"There are a variety of techniques to deploy new applications to production, so choosing the right strategy is an important decision, weighing the options in terms of the impact of change on the system, and on the endusers."


  • 重新创建:(也称为 Highlander )Version A终止,然后推出version B
  • 倾斜的(也称为滚动更新增量):慢慢推出Version B并替换version A
  • 蓝色/绿色(也称为红色/黑色):Version Bversion A一起释放,然后将流量切换到version B
  • Canary: Version B已发布给一部分用户,然后进行全面部署。
  • A/B测试:Version B在特定条件下发布给一部分用户。
  • 影子:Version Bversion A一起接收实际流量,并且不会影响响应。

  • 部署类型和策略摘要表
    enter image description here
  • 引用链接1: https://thenewstack.io/deployment-strategies/

  • 大三角帆部署策略
    Spinnaker将云原生部署策略视为一流的构造,处理基础编排,例如,验证运行状况检查,禁用旧服务器组和启用新服务器组。
    Spinnaker支持的部署策略(正在积极开发中):
  • 汉兰达
  • 红色/黑色(又称蓝色/绿色)
  • 滚动红色/黑色
  • 金丝雀

  • 下图说明如下:
    enter image description here
  • 汉兰达:这种部署策略因电影汉兰达而得名,因为这条著名的路线是“只能有一个”。使用此策略,可以在单个群集前面放置一个负载均衡器。部署完成后,Highlander会销毁先前的群集。这是最简单的策略,当回滚速度不重要或需要降低基础架构成本时,它会很好地起作用。
  • 红色/黑色:此部署策略也称为蓝色/绿色。红/黑策略使用负载均衡器和两个目标群集/服务器组(称为红/黑或蓝/绿)。负载平衡器将流量路由到事件(已启用)的群集/服务器组。然后,新的部署将替换禁用的群集/服务器组中的服务器(带有K8s提供程序->副本集和容器)。当新启用的群集/服务器组准备就绪时,负载均衡器会将流量路由到该群集,而先前的群集将被禁用。如果下一个X部署需要回滚(这是可配置的参数),则当前处于禁用状态的集群/服务器组(以前启用的集群/服务器组)将由大三角帆保留。
  • 红色/黑色滚动:是较慢的红色/黑色,具有更多可能的验证点。该过程与红色/黑色相同,但区别在于流量的切换方式。上图说明了这种差异。蓝色是已启用的群集。蓝色实例将逐渐由绿色群集中的新实例替换,直到所有启用的实例都运行最新版本为止。推出可能会以20%的增量进行,因此可以为80/20、60/40、40/60、20/80或100%。两个蓝色/绿色群集都接收流量,直到完成部署为止。
  • Canary:部署是一个过程,在该过程中部分部署了更改,然后在继续之前针对基准指标进行了测试。通过将爆破半径限制在用户群的一小部分,此过程可降低更改完全推出后引起问题的风险。配置金丝雀时会设置基线指标。指标可能是错误计数或等待时间。高于基线的错误计数或延迟尖峰杀死了金丝雀,从而停止了流水线。
  • 引用链接2: https://www.spinnaker.io/concepts/#deployment-strategies
  • 引用链接3: https://blog.armory.io/advanced-deployment-strategies-with-armory-spinnaker/
  • 引用链接4: https://www.weave.works/blog/kubernetes-deployment-strategies
  • 关于spinnaker - 每个Spinnaker部署策略是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36072412/

    相关文章:

    docker - Spinnaker 构建不会在重新推送现有标签(如最新)时触发

    azure - 尝试为 Azure 设置 OAuth2,出现错误而不是登录页面

    python - Spinnaker 管道即代码

    docker - 大三角帆-Kubernetes-找不到Docker容器

    config - 手动启动 Spinnaker Pipeline 后失败

    kubernetes - 如何在本地kubernetes集群上安装Spinnaker

    Spinnaker GCE 自动缩放

    amazon-web-services - 是否可以使用 Netflix 的 Spinnaker 部署 Docker 容器?

    kubernetes - 使用 Helm 安装后如何更改Spinnaker配置?