Kubernetes 针对特定微服务的蓝绿色部署

Kubernetes 针对特定微服务的蓝绿色部署,kubernetes,blue-green-deployment,Kubernetes,Blue Green Deployment,我正在使用Kubernetes集群部署我们的一系列微服务。我能够同时管理所有微服务的蓝绿色部署,如下所示 我的问题是,有时我只想部署App1或App2,或者两者都不部署所有的微服务。是否可以使用蓝绿色部署来管理这一点 实现的东西:(只想使用蓝绿色策略部署App3) 如果我使用蓝色部署运行BlueApp3,并且GreenApp1和GreenApp2重新填充BlueApp3。然后我测试了我的整个应用程序 一旦它能正常工作,我将把BlueApp3转换成GreeApp3,如下所示 这个策略行吗 若否,

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

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

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

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

一旦它能正常工作,我将把BlueApp3转换成GreeApp3,如下所示

  • 这个策略行吗
  • 若否,原因为何
  • 我们是否需要一次部署所有的micorService来实现蓝绿色部署(这将导致不必要的部署)
  • 蓝绿色部署策略的优点和缺点是什么?对于一个特定的微服务,我将遵循这一策略

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

    您可以为给定的服务启动新部署,当部署到位时,将kubernetes服务下的选择器从say
    app:app2,flavor:green
    切换到
    app:app2,flavor:blue
    ,并在确认后删除绿色部署对象


    在k8s上进行蓝绿部署的一个挫折是,您没有真正利用k8s部署提供的潜力以及对滚动更新的本机支持

    能否详细说明您提到的在k8s上进行蓝绿部署的挫折?只需更新部署规范,您就可以对服务进行滚动更新。使用B-G方法,您必须自己编写其中的大部分脚本,只需使用kubernetes清单和可选的
    .env
    文件,就可以轻松地为每个微服务实现上述B-G方法。