I understand that load balancer is created using cloud provider’s native load balancer and NodePort shouldn’t be used in Production due to security. Now, when should we use load balancer and when should we use Ingress?
You should expose the service as a nodeport to be able use the ingress. The ingress is used to apply the ssl and control the traffic to ur service. Also, the ingress can be handle the traffic based on the hostname like a.foo.com and b.foo.com. for ingress, you can have one ingress for 1000 services based on the virtual hosting name unlike load balancer; each service should have it’s own lb which cost a lot of many