<p>So currently i have 2 services in a namespace called &quot;development&quot; that need to handle external traffic, and currently use type:LoadBalancer, and have their own external IPs and DNS records.</p>
<p>I want to start using an ingress controller (nginx) deployed in a separate namespace (called &quot;ingress-controller&quot;), and I have some questions about how the end state will look like</p>
<p>So if I understand correctly, I have to create an ingress in the &quot;development&quot; namespace first, then create the ingress deployment and an external type:LoadBalancer service in the &quot;ingress-controller&quot; namespace and set up a DNS record for the ingress controller's service's external IP. Then I need to change the original 2 services in the &quot;development&quot; namespace to ClusterIP, which will now get traffic because of the Ingress rule.</p>
<p>How will hostnames work? Say my first service had a DNS record of &quot;foo.com&quot;, second service was called &quot;bar.com&quot;, can I set up ingress rules to route requests to 2 different domains?</p>

<p>You are already good with the ingress thing. Now you have to use <a href="https://github.com/kubernetes-sigs/external-dns" rel="nofollow noreferrer">external-dns</a>.</p>
<p>This will create DNS for you which you will specify in your ingress. For example.</p>
<pre><code>- host: foo.com
  http:
    paths:
      - path: /*
        backend:
          serviceName: &lt;your service name&gt;
          servicePort: 80
</code></pre>
