【问题标题】:Blue Green Deployment for particular MicroService特定微服务的蓝绿部署
【发布时间】:2017-04-28 11:56:09
【问题描述】:

我正在使用 Kubernetes 集群来部署我们的一堆微服务。我能够同时管理所有微服务的蓝绿部署,如下所示

我的问题是,有时我只想部署 App1 或 App2 或两者都不是所有微服务。这可以使用蓝绿部署来管理吗?

Implemented Things:(想用蓝绿策略只部署App3)

如果我使用蓝色部署运行 BlueApp3,并且 GreenApp1 和 GreenApp2 重新启动 BlueApp3。然后我测试了我的整个应用程序

一旦它可以正常工作,我会将 BlueApp3 转换为 GreeApp3,如下所示

  1. 这个策略好吗?
  2. 如果不是,那为什么?
  3. 是否需要一次部署所有的 MicorServices 来实现蓝绿部署(会导致不必要的部署)
  4. 对于一个特定的微服务,我所遵循的蓝绿部署策略的优缺点是什么。

【问题讨论】:

    标签: kubernetes blue-green-deployment


    【解决方案1】:

    我建议将您的部署策略从组合完全切换到每个微服务。这包括您将不再运行全蓝或全绿部署这一事实。

    您可以为给定的服务启动新的部署,当它到位时,将您的 kubernetes 服务下的选择器从 app: app2, flavor: green 切换到 app: app2, flavor: blue,当认为已验证时,只需删除绿色的部署对象。

    在 k8s 上做蓝绿色的一个挫折是你没有真正利用 k8s 部署所提供的潜力以及它们对 RollingUpdates 的原生支持

    【讨论】:

    • 您能否详细说明您提到的使用 k8s 进行蓝绿部署的挫折?
    • kubernetes.io/docs/user-guide/deployments 使您能够通过更新部署规范来滚动更新服务。使用 B-G 方法,您必须自己编写大部分脚本
    • 您可以使用 bg-kube 轻松实现上述每个微服务的 B-G 方法,只需使用 kubernetes 清单和可选的 .env 文件。
    猜你喜欢
    • 2018-01-14
    • 1970-01-01
    • 2019-01-01
    • 2021-07-18
    • 1970-01-01
    • 2017-07-10
    • 2018-10-12
    • 1970-01-01
    • 2021-09-18
    相关资源
    最近更新 更多