A deployment of a new version of a service in Kubernetes means replacing the N backing pods of the service, which run version X with N backing pods running version X+1. There are multiple ways to get from N pods running version X, to zero pods running version X and N pods running version X+1. Kubernetes deployments support two strategies out of the box: Recreate and RollingUpdate (the default strategy). Blue-green deployments and canary deployments are two other popular strategies. Before diving into the various deployment strategies, as well as their pros and cons, it's important to understand the process of updating a deployment in Kubernetes.
A rollout of a new set of pods for a deployment happens if and only if the deployment spec's pod template has changed. This typically happens when you change the image version of the pod template...