Kubernetes is a container orchestration framework. It manages docker containers (or other similar container technologies). You can use it to manage large applications made up of hundreds or thousands of containers running (often with redundancy) on many different computers. The main features are:
- High availability or no downtime
- Scalability
- Disaster recovery
Docker itself comes with a very simplified container orchestration tool called "stacks" which are used with the docker compose tool. Kubernetes is much more powerful and can even work with non-docker containers. Also consider looking into nomad, which shares a number of similarities.