Kubernetes on dedicate server - external load balancers best practice

I have 4 dedicates server in OVH (two location) and I have two external load balancer… one from OVH (https://www.ovh.co.uk/solutions/load-balancer/) and one from TotalUptime.com. All my servers have dedicated IPFailover in OVH… sometimes I use OVH load balancer (when I wan load-balance between server only in France-Roubaix) or I use Totaluptime to balance traffic between France-Gravelines and France-Roubaix.

What is best practice to expose my services (like nginx/ ingress nginx)?

I know that I can use HostPort to make my nginx-ingress running on my IP-Failovers I can also add HAProxy on the front and route to my nginx-ingress … but I will can’t manage ssl on this HAProxy so my nginx-ingress can’t see real source IP.

Or maybe is another way to make it better ?

You should be able to point your load balancers to either host ports (where your ingress controller runs) or NodePorts terminating TLS at your Ingress controller. I don’t see a need to put in HAProxy in front of your ingress unless there are other requirements I’m missing. =)