I suppose you could do that.
As far as getting rid of the NodePort option, there’s a chance that upgrades would override any changes you made to the DaemonSet, thereby adding the nodeports back in.
But you could just leave the NodePorts there and ignore them.
As to creating a LoadBalancer that forwards to ingress-nginx you could import this which I think would do it:
- name: http
- name: https
If you really wanted to remove the NodePorts, just edit the yaml of the ingress-nginx DaemonSet and remove the nodeports line from the ports section in the container. I think that would do it, at least until an upgrade happened and overrode your changes. (not sure if they would or not, but I suspect they might)
Also, it should be noted that using a LoadBalancer via MetalLB Layer 2 mode is probably not a good idea, as all your traffic would be running through that LoadBalancer and could become bottlenecked see this for more info.
BGP mode would be fine though!