DevOps Interview Practice #4: What is the difference between a rolling update and a recreate strategy in Kubernetes Deployments?
I'm a Korean DevOps engineer preparing for international opportunities. Since English isn’t my first language, I’ve been practicing both my language skills and technical knowledge at the same time. As part of my daily English practice, I asked ChatGPT (acting as my senior DevOps engineer) to give me one interview-style question each day. I try to answer in English based on what I know, and then improve my explanation through feedback and correction. Here’s today’s question and my answer: Question What is the difference between a rolling update and a recreate strategy in Kubernetes Deployments? My First Answer (Raw) Recreate is a deploymeny strategy that ensure version persistency but sacrifice availability during version update. On the other hand, Rolling Update is one that ensure availability but sacrifice version persistency during update. Recreate strategy ends all existing pods immediately, and when it's done, then starts scale out of new replicaset. RollingUpdate strategy ensures availability by maxUnavailable and maxSurge. existing pods are decremended under the maxUnavailable, new pods are created under the maxSurge. Refined Answer (with feedback) Recreate is a deployment strategy that ensures version consistency but sacrifices availability during the update. On the other hand, RollingUpdate prioritizes availability, even if that means temporarily running different versions of the application. With the Recreate strategy, all existing pods are terminated first. Only after that process is complete does the new ReplicaSet begin scaling up. RollingUpdate maintains availability using two key parameters: maxUnavailable and maxSurge. Existing pods are scaled down according to the maxUnavailable setting, while new pods are created within the limit defined by maxSurge.

I'm a Korean DevOps engineer preparing for international opportunities. Since English isn’t my first language, I’ve been practicing both my language skills and technical knowledge at the same time.
As part of my daily English practice, I asked ChatGPT (acting as my senior DevOps engineer) to give me one interview-style question each day. I try to answer in English based on what I know, and then improve my explanation through feedback and correction.
Here’s today’s question and my answer:
Question
What is the difference between a rolling update and a recreate strategy in Kubernetes Deployments?
My First Answer (Raw)
Recreate is a deploymeny strategy that ensure version persistency but sacrifice availability during version update. On the other hand, Rolling Update is one that ensure availability but sacrifice version persistency during update.
Recreate strategy ends all existing pods immediately, and when it's done, then starts scale out of new replicaset.
RollingUpdate strategy ensures availability by maxUnavailable and maxSurge. existing pods are decremended under the maxUnavailable, new pods are created under the maxSurge.
Refined Answer (with feedback)
Recreate is a deployment strategy that ensures version consistency but sacrifices availability during the update. On the other hand, RollingUpdate prioritizes availability, even if that means temporarily running different versions of the application.
With the Recreate strategy, all existing pods are terminated first. Only after that process is complete does the new ReplicaSet begin scaling up.
RollingUpdate maintains availability using two key parameters: maxUnavailable
and maxSurge
. Existing pods are scaled down according to the maxUnavailable
setting, while new pods are created within the limit defined by maxSurge
.