With Docker, we have commands such as docker run, docker build, or docker stop. Unlike these commands, which perform operations on a single container, there is no command like docker deploy to push new images to a group of hosts. To solve this problem, Kubernetes is one of the most promising tools. Kubernetes provides powerful abstractions that completely decouple application-wise operations, such as deployment and scaling. Kubernetes sees the underlying infrastructure as a sea of computers in which we can put containers.