Kubernetes is a cluster manager that schedules Docker containers across a cluster using pods. Pods are sets of Docker containers that are guaranteed to run on the same host. Replication controllers ensure that the desired number of pods for an application are running. Services provide a single IP address to load balance traffic to backend pods. Google Container Engine provides a hosted Kubernetes service. YAML files can be used to define replication controllers and services to deploy and expose applications on Kubernetes.