Kubernetes in one line: Kubernetes is a container-orchestration system for automating application deployment, scaling, and management.
Kubernetes is a container-orchestration system. It’s also sometimes called the “operating system for the cloud.” It’s built to provide a higher level of abstraction over common tasks, like:
Kubernetes also lets you ignore provider-specific functionality. It can work with any kind of infrastructure. For example, you could run a single system configured by Kubernetes across a mix of Amazon Web Services, Google Cloud, Azure, and your own local, physical data center.
If you manually set up complicated infrastructure, such as dozens of web servers and databases, these components will start to depend on each other implicitly. If something goes wrong, it might not be obvious how to fix it. With Kubernetes, you can define your infrastructure as code, checking config files into version control for automatic, fully reproducible deployments.
By providing a high layer of abstraction and a ton of automation tooling, Kubernetes removes some of the need for human intervention and operations management. If a server goes down in the middle of the night, instead of waking up a human to deal with it, Kubernetes can automatically create a new server, deploy your service to it, and ensure it’s running as expected. The human can then look into what went wrong and fix or decommission the broken server at a more convenient time.