Я исследовал, как Kubernetes предоставляет услуги внешнему миру, и нашел множество статей, объясняющих различия между использованием NodePort, LoadBalancer и Ingress.
Однако, похоже, никто не объясняет очень фундаментального вопроса: каковы варианты использования, в которых вы на самом деле хотеть использовать входной контроллер? В статьях эти три метода описываются как эквивалентные методы раскрытия услуг, но это не так. NP и LB - это типы услуг. Контроллер Ingress - это служба, которую вы можете использовать для балансировки нагрузки трафика в другие службы, но это все еще просто служба, что означает, что вам необходимо настроить балансировщик нагрузки (Nodeport не рекомендуется, поэтому я игнорирую его в этом обсуждении), чтобы выставь это.
Итак, теперь у нас есть внешний балансировщик нагрузки, указывающий на внутреннюю службу балансировки нагрузки, которая, наконец, указывает на фактические службы, которые мы хотим предоставить.
Мы дублировали функциональность, что хуже, чем никакой выгоды, потому что теперь вы платите за внешний балансировщик нагрузки, И ваш кластер тратит циклы на выполнение избыточных служб балансировки нагрузки.
Внешние балансировщики нагрузки, предоставляемые различными поставщиками облачных услуг, уже включают в себя такие функции, как маршрутизация пути и т. Д., Так зачем вообще беспокоиться об входящем входе?
Единственные ситуации, которые я могу придумать, в которых имеет смысл использовать:
Имею ли я на это право или что-то упускаю?