<p>I have followed the <a href="https://cloud.google.com/container-engine/docs/tutorials/http-balancer" rel="nofollow">GKE tutorial</a> for creating an HTTP Load Balancer using the beta Ingress type and it works fine when using the nginx image. My question is about why Ingress is even necessary. </p>

<p>I can create a container engine cluster and then create a HTTP Load Balancer that uses the Kubernetes-created instance group as the service backend and everything seems to work fine. <strong>Why would I go through all of the hassel of using Ingress when using Kubernetes for only part of the process seems to work just fine?</strong></p>

<p>While you can create "unmanaged" HTTP Load Balancer by yourself, what happens when you add new deployments (pods with services) and want traffic to be routed to them as well (perhaps using URL Maps)?</p>

<p>What happens when one of your services goes down for some reason and the new service allocates another node port?</p>

<p>The great thing about Ingress is that it manages the HTTP Load Balancer for you while keeping track on Kubernetes' resources and updates the HTTP Load Balancer accordingly. </p>
