Вопрос: Пропускные классы NGINX и GCE Kubernetes


При настройке входа Kubernetes в Google Container Engine вы можете выбрать класс доступа (gce или nginx). Я понимаю, что класс GCE предусматривает балансировку нагрузки на облачной платформе Google, которая стоит около 20 долларов США за каждый.

После некоторых исследований я не мог найти никаких оснований, почему балансировщик нагрузки Google лучше, чем использование входящего класса NGINX, по крайней мере, до того, как он попадает в очень большие масштабы.

На самом деле, похоже, что класс GCE не поддерживает:

  • Внешняя аутентификация с ingress.kubernetes.io/auth-url
  • Обычная проверка
  • Несколько других небольших функций, встроенных в вход NGINX

Есть ли какие-либо преимущества, которые я не знаю для использования класса GCE и класса NGINX для входящих?


5
2017-10-06 17:21


Источник




Ответы:


После некоторого дальнейшего чтения и тестирования я нашел несколько преимуществ. Я также понял, что использование контроллера NGINX будет по-прежнему обеспечивать балансировку нагрузки ... таким образом, не избегая стоимости $ 20 / mo.

Различия

  • Контроллер GCE вызывает Балансировщик нагрузки HTTP (S) быть обеспеченным
  • Контроллер NGINX требует service обозначить как type: LoadBalancer
    • Это приводит к сетевой балансировщик нагрузки быть обеспеченным

Балансировщик нагрузки HTTP (S)

Сетевой балансировщик нагрузки

Выгоды:

  • Как показано на диаграммах выше, балансировщик нагрузки HTTP (S) может загружать баланс по регионам, тогда как балансировщик сетевой нагрузки может загружать баланс только через зоны в том же регионе
  • Контроллер GCE построен специально для облачной платформы Google, поэтому я полагаю, что он работает более надежно
  • Контроллер GCE по умолчанию не требует дополнительных усилий по сравнению с поддержкой и указанием файлов YAML, необходимых для функционирования контроллера NGINX

4
2017-10-09 16:13



Спасибо за этот полезный ответ. Мне было бы интересно узнать, поддерживает ли контроллер GCE функции сохранения сеанса, обнаруженные в контроллере Nginx. Например, такие аннотации, как «nginx.ingress.kubernetes.io/affinity:« cookie »nginx.ingress.kubernetes.io/session-cookie-name:« route »nginx.ingress.kubernetes.io/session-cookie-hash : "sha1" ' - ice.nicer