Kubernetes vertical pod autoscaler
(autoscale memory, cpu resources of pods) necessitates a restart of the pod to be able to use the newly assigned resources which might add small window of unavailability.
My question is that if the deployment of the pod is running a rolling update
would that ensure zero down time, and zero window of unavailability when the VPA recommendation is applied.
Thank you.
Yes. The default RollingUpdate behavior for Deployment should automatically do that. It brings up some new replicas first,then delete some old replicas once the new ones are ready. You can control how many pod can be unavailable at once or how many new pod will be created using
maxUnavailable
andmaxSurge
field. You can tune these variable to achieve your zero downtime goal.Ref: