3
votes

I am using Kubernetes cluster for deploying our bunch of Microservices.I am able to manage Blue Green depoyment for all microservices at the same time like belowenter image description here

My problem is that some times i want to deploy only App1 or App2 or both not all microservices.is this possible to manage this using Blue Green deployment?

Implemented Things:(want to deploy only App3 using blue green strategy)

if i am running BlueApp3 with blue deployment and GreenApp1 and GreenApp2 refirring BlueApp3. then i tested my whole application

enter image description here

once it will work fine i'll convert BlueApp3 to GreeApp3 like belowenter image description here

  1. is this strategy is fine?
  2. if not then why?
  3. do we need to deploy all bunch of MicorServices at a time to implement blue green deployment(it will cause unnecesaary deployment)
  4. what are the pros and cons of Blue Green deployment strategy what i am following for one particular microservice.
1

1 Answers

2
votes

I would suggest switching your deployment strategy from combined to per microservice completely. That includes the fact that you will no longer run all-blue or all-green deployment.

You can launch new deployment for given service, and when it is in place switch the selector under your kubernetes service from say app: app2, flavor: green to app: app2, flavor: blue and when considered as validated simply delete the green Deployment object.

The one setback from doing blue-green on k8s is that you don't really utilise potential provided by k8s deployments with their native support for RollingUpdates