As you read from the Github page :
Kubernetes is an open source system for managing containerized applications on multiple hosts that provides the basic mechanisms for deploying, maintaining, and scaling applications.
Kubernetes is:
lean: lightweight, simple, accessible portable: public, private, hybrid, multi cloud extensible: modular, pluggable, hookable, composable self-healing: auto-placement, auto-restart, auto-replication
Kubernetes builds on a decade and a half of Googleβs experience in scaling workloads with best-in-class community ideas and practices.
For me, Kubernetes is a container orchestration tool from Google. Thanks to its design, you can implement compatibility with any container engine, but I think it is now limited to Docker. There are several important concepts in its architecture:
Kubernetes works with the following concepts:
Clusters are the computing resources on the basis of which your containers are created. Kubernetes can run anywhere! See the Getting Started Guides for instructions on the various services.
Modules is an integrated group of Docker containers with shared volumes. These are the smallest deployable units you can create, plan, and manage with Kubernetes. Modules can be created individually, but it is recommended that you use a replication controller even when creating a single module. More about pods.
Replication controllers manage the module life cycle. They ensure that a certain number of modules work at any given time, creating or killing modules as needed. Learn more about replication controllers.
Services provide a single, stable name and address for a set of modules. They act as primary load balancers. More about services.
Labels are used to organize and select groups of objects based on key: value pairs. Learn more about shortcuts.
So, you have a group of computers that forms a cluster in which your containers work. Yo can also define a group of containers that provide the service, similar to how you do it with other tools such as fig (i.e. the webapp module can be a rails server and a postgres database). You also have other tools to ensure the simultaneous launch of several containers / service modules, a storage of key values, a kind of built-in load balancer ...
If you know something about Coreos, this is a very similar solution, but from Google. Algo Kubernetes has good integration with the Google Cloud Engine.