The Deployment updates Pods in a rolling update fashion when .spec.strategy.type==RollingUpdate .
You can specify maxUnavailable and maxSurge to control the rolling update process.
Rolling update is the default deployment strategy.kubectl rolling-update updates Pods and ReplicationControllers in a similar fashion.
But, Deployments are recommended, since they are declarative, and have additional features, such as rolling back to any previous revision even after the rolling update is done.
So for rolling updates to work as one may expect, a readiness probe is essential. Redeploying deployments is easy but rolling updates will do it nicely for me without any downtime.
The way to make a rolling update of a Deployment and kubctl apply on it is as below