https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ Why do I need Kubernetes and what can it do?
At a minimum, Kubernetes can schedule and run application containers on clusters of physical or virtual machines. However, Kubernetes also allows developers to ‘cut the cord’ to physical and virtual machines, moving from a host-centric infrastructure to a container-centric infrastructure, which provides the full advantages and benefits inherent to containers. Kubernetes provides the infrastructure to build a truly container-centric development environment.
Kubernetes satisfies a number of common needs of applications running in production, such as:
Co-locating helper processes, facilitating composite applications and preserving the one-application-per-container model
Mounting storage systems
Distributing secrets
Checking application health
Replicating application instances
Using Horizontal Pod Autoscaling
Naming and discovering
Balancing loads
Rolling updates
Monitoring resources
Accessing and ingesting logs
Debugging applications
Providing authentication and authorization
This provides the simplicity of Platform as a Service (PaaS) with the flexibility of Infrastructure as a Service (IaaS), and facilitates portability across infrastructure providers.