<p>I have a deployment specification that says launch 3 pods with nginx containers... Kubernetes creates an deployment object (spec + status). I learnt that deployment controller keeps track of this object and brings status to a desired state of 3 pods ... but couldn't find whether we get one deployment controller created for each deployment object or is there one deployment controller that monitors all deployment object ? Same applies to replication controller too? I know answering one would answer the other one...</p>

<p>Deployment controller internally uses replication controller which creates replicaset. Deployment controller and replication controller are part of kubernetes <a href="https://kubernetes.io/docs/concepts/overview/components/#kube-controller-manager" rel="nofollow noreferrer">controller manager</a> . You generally have more than one controller manager in a cluster for high availability. So for example if you have 3 controller managers then there are 3 deployment and replication controller internally. But at a time one of the controller manager is selected as leader and is active. So even though there are 3 deployment controller and 3 replication controller only one of those are active at a time.</p>
