Introduction
When you tell Kubernetes how you want your app to run, it keeps checking if the real situation matches your instructions. If something changes or breaks, Kubernetes fixes it automatically to match what you asked for.
When you want your app to always run with a certain number of copies, even if some copies crash.
When you update your app and want Kubernetes to replace old versions with new ones smoothly.
When you want to recover automatically if a server or container stops working.
When you want to make sure your app configuration stays the same even if someone changes it by mistake.
When you want to scale your app up or down and have Kubernetes handle the changes.