3

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

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

实现的东西:(想用蓝绿策略只部署App3)

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

在此处输入图像描述

一旦它可以正常工作,我会将 BlueApp3 转换为 GreeApp3,如下所示在此处输入图像描述

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

1 回答 1

2

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

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

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

于 2016-12-13T13:00:57.870 回答