<p>I want to create a load balancer for 4 http server pods.</p>

<p>I have one mysql pod too.</p>

<p>Everything works fine, i have created a loadbalancer service for http, and another service for mysql.</p>

<p>I have read i should create an ingress too. But i do not understand what is an ingress because everything works with Services.</p>

<p>What is the value-add of an Ingress ?</p>

<p>Thanks</p>

<p>Since you have single service serving http, your current solution using LoadBalancer service type works fine. Imagine you have multiple http based services that you want to make externally available on different routes. You would have to create a LoadBalancer services for each of them and by default you would get a different IP address for each of them. Instead you can use an <code>Ingress</code>, which sits infront of these services and does the routing. </p>

<p>Example ingress manifest:</p>

<pre><code>apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
      - path: /cart
        backend:
          serviceName: cart
          servicePort: 80
     - path: /payment
        backend:
          serviceName: payment
          servicePort: 80
</code></pre>

<p>Here you have two different HTTP services exposed by an Ingress on a single IP address. You don't need a LoadBalancer per service when using an Ingress. </p>
