<p>Trying to create a Laod Balancer resource with Kubernetes (for an EKS cluster). It works normally with the Label Selector, but we want to only have one LB per cluster, then let ingress direct services.
Here is what I currently have :</p>

<pre><code>kind: Service
apiVersion: v1
metadata:
  namespace: default
  name: name
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
spec:
  ports:
  - port: 80
  type: LoadBalancer
</code></pre>

<p>This creates a LB and gives it an internal DNS, but instances never get healthy (although they are).</p>

<p>Any advices</p>

shrimpy
<p>Per discussion in <a href="https://stackoverflow.com/questions/56459127/kubernetes-ingress-not-creating-an-lb/56459410?noredirect=1#comment99510401_56459410">another question</a> you posted. I think what you want is to achieve <code>One Load Balancer Per Cluster</code>, referring to this: <a href="https://itnext.io/save-on-your-aws-bill-with-kubernetes-ingress-148214a79dcb" rel="nofollow noreferrer">Save on your AWS bill with Kubernetes Ingress</a>.</p>

<p>To achieve this, you would need to create:</p>

<ol>
<li>A <code>Load Balancer Service</code> with <code>Nginx-Ingress-Controller</code> pod as backend.</li>
<li>Your <code>Load balancer Service</code> would have an External IP, point all your cluster traffic to that IP.</li>
<li>Ingress rules that route all cluster traffic as you wish.</li>
</ol>

<p>So your traffic would go through the following pipeline:</p>

<blockquote>
  <p>all traffic -> AWS LoadBalancer -> Node1:xxxx ->
  Nginx-Ingress-Controller Service -> Nginx-Ingress-Controller Pod -> Your Service1 (based on your ingress rules) ->
  Your Pod</p>
</blockquote>

<p>Here is an example how to bring up a Nginx-Ingress-Controller: <a href="https://hackernoon.com/setting-up-nginx-ingress-on-kubernetes-2b733d8d2f45" rel="nofollow noreferrer">https://hackernoon.com/setting-up-nginx-ingress-on-kubernetes-2b733d8d2f45</a></p>
