Традиционно, вы должны создать сервис LoadBalancer для каждого сервиса, который вы хотите предоставить извне. Это может стать довольно дорогим. Ingress дает вам возможность направлять запросы к сервисам на основе хоста или пути запроса, централизуя несколько сервисов в одной точке входа.
Кроме того, распределение балансировки нагрузки требует времени и работает только в поддерживаемых облачных провайдерах, таких как AWS, GCP et c.
Еще одна вещь, которую следует учитывать, - это необходимость маршрутизации на уровне L4 (TCP / UDP), поскольку входной API-интерфейс kubernetes - это в первую очередь уровень L7, но некоторые из входных контроллеров, такие как traefik, nginx поддерживает уровень L4 (TCP / UDP) наряду с маршрутизацией уровня L7 (HTTP).
Поэтому ответ на ваш вопрос зависит от вашей среды и вариантов использования.