<p>I'm trying deploy an app that uses a nodeport ingress to register with an existing AWS NLB. I t's my understanding that I don't need an lb controller because the NLB is pre-existing and I'm not relying upon it to deploy the NLB. Is this much correct?</p>
<p>Ultimately, I think I just need an annotation in the ingress to tether it to the existing NLB . Am I on the right track?</p>

Joshua Restivo
<blockquote>
<p>uses a nodeport ingress to register with an existing AWS NLB</p>
</blockquote>
<p>Node port and ingress are two different things, plus How the dynamic node will be managed and how the target will be set for the NLB? Plus node port is not recommended <a href="https://oteemo.com/think-nodeport-kubernetes/" rel="nofollow noreferrer">think-nodeport-kubernetes</a></p>
<p>So the best option is to use an ingress controller with NLB.</p>
<p>All you need to apply this, this will create NLB and ingress,
you can  also release existing <code>static IP</code> from the NLB and assign it to the new created NLB</p>
<pre><code> kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-0.32.0/deploy/static/provider/aws/deploy.yaml
</code></pre>
<p>This is how it will look like</p>
<p><a href="https://i.stack.imgur.com/URBrG.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/URBrG.png" alt="enter image description here" /></a></p>
<p><a href="https://aws.amazon.com/blogs/opensource/network-load-balancer-nginx-ingress-controller-eks/" rel="nofollow noreferrer">network-load-balancer-nginx-ingress-controller-eks</a></p>
<p>By doing this, you do not need any fancy annotation for the LB as well, so just create ingress and it should work</p>
<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: &quot;false&quot;
    nginx.ingress.kubernetes.io/force-ssl-redirect: &quot;false&quot;
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  tls:
  - hosts:
    - anthonycornell.com
    secretName: tls-secret
  rules:
  - host: anthonycornell.com
    http:
      paths:
        - path: /apple
          backend:
            serviceName: apple-service
            servicePort: 5678
        - path: /banana
          backend:
            serviceName: banana-service
            servicePort: 5678
</code></pre>
<p><strong>Make sure to update DNS that pointing to NLB</strong></p>
