Как только служба NodePort привязана к указанным портам на всех узлах кластера, вам просто нужно доставить трафик на любой из этих узлов или на все из них. Иногда это может привести к дополнительной задержке, но с точки зрения подключения она должна работать нормально.
Вы можете настроить Load Balancer вручную, а затем добавить все узлы кластера в свой пул и настроить проверяет их, чтобы исключить узел из пула, когда конкретный узел выходит из строя.
Ingress работает аналогичным образом. Весь трафик, который поступает на определенный порт любого узла, перенаправляется в Ingress pod . Ingress controller ищет созданные объекты Ingress и настраивает Ingress pod в соответствии со спецификациями этих объектов. На самом деле, Ingress controller и Ingress pod в моем примере - это одно и то же.
Ingress может предоставить дополнительную логику управления трафиком на уровне HTTP, например маршрутную маршрутизацию, настроить запрос перед отправкой в службу, обслуживая конечную точку SSL и т. д. Но в любом случае вам следует доставить внешние трафик к узлам как-то. На этом этапе мы возвращаемся к конфигурации Load Balancer .
В некоторых случаях, когда ваш кластер развертывается в облаке, который предоставляет службу Load Balancer , контроллер Ingress заботится о создании облачного Load Balancer .
Вы использовали kops для развертывания кластера Kubernetes на AWS?
Как правило, kops создает кластер, который интегрируется с AWS без каких-либо проблем, поэтому вы можете использовать тип сервиса LoadBalancer. Выполняя все вручную, вы можете совершить небольшую ошибку конфигурации, которую трудно найти и исправить.
Пожалуйста, ознакомьтесь с очень хорошей статьей:
Как создать Ingress на AWS: