The real value of Kubernetes is not running an application but keeping it running. It does this with a “desired state” approach: you declare the goal — “three copies of this application, always” — and the platform continuously pulls reality toward it.
In a production environment this comes down to a handful of mechanisms:
Health checks.
The application is probed at intervals; a copy that stops answering is pulled out of traffic and restarted.
Failover.
When a physical server fails, its copies are brought up on healthy servers; if the target was three copies, it becomes three copies again.
Resource limits.
A memory leak in one application cannot hurt its neighbor; a copy that crosses its limit is restarted.
Scaling with load.
As traffic grows the copy count rises within defined bounds — and falls back when traffic drops.
These mechanisms do not configure themselves correctly: a badly defined health check turns into a machine that endlessly restarts a healthy application. With Managed Kubernetes, these settings arrive tuned with values that come from production experience.
Related service:
Managed Kubernetes