<p>I am using kubernetes on google cloud container, and I still don't understand how the load-balancers are "magically" getting configured when I create / update any of my ingresses.</p>

<p>My understanding was that I needed to deploy a <a href="https://github.com/kubernetes/contrib/tree/master/ingress/controllers/gce" rel="nofollow noreferrer">glbc / gce L7 container</a>, and that container would watch the ingresses and do the job. I've never deployed such container. So maybe it is part of <a href="https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/cluster-loadbalancing/glbc" rel="nofollow noreferrer">this cluster addon glbc</a>, so it works even before I do anything?</p>

<p>Yet, on my cluster, I can see a "l7-default-backend-v1.0" Replication Controller in kube-system, with its pod and NodePort service, and it corresponds to what I see in the LB configs/routes. But I can't find anything like a "l7-lb-controller" that should do the provisionning, such container does not exist on the cluster.</p>

<p>So where is the magic ? What is the glue between the ingresses and the LB provisionning ?</p>

<p>Google Container Engine runs the glbc "glue" on your behalf unless you explicitly request it to be disabled as a cluster add-on (see <a href="https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters#HttpLoadBalancing" rel="nofollow noreferrer">https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters#HttpLoadBalancing</a>). </p>

<p>Just like you don't see a pod in the system namespace for the scheduler or controller manager (like you do if you deploy Kubernetes yourself), you don't see the glbc controller pod either. </p>
