Kubernetes, in short, is an open source system for managing clusters of containers. To do this, it provides tools for deploying applications, scaling those application as needed, managing changes to existing containerized applications, and helps you optimize the use of the underlying hardware beneath your containers. Kubernetes is designed to be extensible and fault-tolerant by allowing application components to restart and move across systems as needed.
Kubernetes is itself not a Platform as a Service (PaaS) tool, but it serves as more of a basic framework, allowing users to choose the types of application frameworks, languages, monitoring and logging tools, and other tools of their choice. In this way, Kubernetes can be used as the basis for a complete PaaS to run on top of; this is the architecture chosen by the OpenShift Origin open source project in its latest release.
Kubernetes was originally created by Google, who had been running similar systems to manage containers as a part of their internal infrastructure for many years prior to the announcement of Kubernetes as an open source project in 2014. Today, Kubernetes is a rapidly growing open source community, with engineers from Google, Red Hat, and many other companies actively contributing to the project.
The main unit of organization in Kubernetes is called a pod. A pod is a group of containers that are administered as a group on the same machine or virtual machine, a node, and are designed to be able to talk to one another easily.