<p>When a Kubernetes service is exposed via an <code>Ingress</code> object, is the load balancer "phisically" deployed in the cluster, i.e. as some <code>pod</code> controller inside the cluster nodes, or is just another managed service provisioned by the given cloud provider?</p>

<p>Are there cloud provider specific differences. Is the above question true for Google Kubernetes Engine and Amazon Web Services?</p>

<p>By default, a kubernetes cluster has no <code>IngressController</code> at all. This means that you need to deploy one yourself if you are on premise.</p>

<p>Some cloud providers do provide a default ingress controller in their kubernetes offer though, and this is the case of GKE. In their case the ingress controller is provided "As a service" but I am unsure about where it is exactly deployed.</p>

<p>Talking about AWS, if you deploy a cluster using kops you're on your own (you need to deploy an ingress controller yourself) but different deploy options on AWS could include an ingress controller deployment.</p>
