Насколько я понимаю, установка типа Service
на LoadBalancer
создает новый балансировщик нагрузки Azure и назначает IP-адрес для Service
.Означает ли это, что у меня может быть несколько служб, использующих порт 80?Если приложение позади моего Service
(приложение ASP.NET Core) может обрабатывать TLS и HTTPS, почему я не должен просто использовать LoadBalancer
для любых Service
, которые я хочу выставить в Интернете?
В чем преимущество использования Ingress
, если меня не волнует завершение TLS (Вы можете позволить Cloudflare обрабатывать завершение TLS)?Во всяком случае, это замедляет работу, добавляя дополнительный прыжок для каждого запроса.
Обновление
В некоторых ответах ниже упоминается, что создание балансировщиков нагрузки является дорогостоящим.Следует отметить, что балансировщики нагрузки в Azure бесплатны, но они взимают плату за IP-адреса, из которых они дают вам пять бесплатно.Так что для небольших проектов, где вы хотите выставить до пяти IP-адресов, это по сути бесплатно.Более того, вы можете посмотреть объявление usign Ingress
.
В некоторых ответах также упоминаются дополнительные сложности, если вы не используете Ingress
.Я уже упоминал, что Cloudflare может обрабатывать завершение TLS для меня.Я также обнаружил проект external-dns
Kubernetes для создания записей DNS в Cloudflare, указывающих на IP-адрес балансировщиков нагрузки?Мне кажется, что исключение Ingress
уменьшает сложность, так как мне приходится настраивать и управлять ею меньше.Выбор Ingress также огромен, вероятно, я выберу не тот, который через некоторое время останется без поддержки.