

In a Kubernetes cluster, there is a single master node and multiple worker nodes. Instead of scheduling VMs, Kubernetes schedules Pods. Kubernetes is similar to OpenStack in that it manages resources. OpenStack's controller uses a lot of criteria to choose a compute node, but if an application spans multiple VMs, Affinity rules can be used to ensure the VMs don’t congregate on a single compute node. Many VMs can be created on a single compute node. When creating a VM with "X" memory, "Y" CPUs and "Z" hard drive space, OpenStack's controller reviews its pool of available resources, allocates the quota, and then creates the VM on one of the available compute nodes. The compute nodes are the collection of resources (memory, CPUs, hard drive space) to be partitioned. In the OpenStack lab, the controller executes the function of partitioning resources. What is OpenStack? What is Kubernetes? What is Docker?
