A cluster consists of several nodes. It can be a virtual machine or a physical machine. A single node can run one or more pods. Each pod contains one or more containers. A container hosts the application code and all the dependencies the app requires to run properly.