Введите значение зоны узла GCP в контроллер входа Nginx для маршрутизации с учетом зоны - PullRequest
0 голосов
/ 08 марта 2019

Я хочу развернуть входной контроллер Nginx в нескольких зонах и хотел бы иметь возможность вводить метки региона / зоны в мои модули, используя переменные среды для маршрутизации с учетом зоны. В маршрутизации осведомленности о зоне модули, работающие в зоне, отправляют трафик на внутренние серверы, работающие в зоне a. Это существенно уменьшило бы межзонную стоимость.

Я посмотрел на нисходящий API, однако кажется, что он вводит метки / метаданные только из модуля / службы, а не из узла, на котором работают эти модули.

Есть ли реальное решение для внедрения зоны узла в модуль Nginx, чтобы я мог использовать переменную Environment вместе с функциональностью карты в Nginx, чтобы выбрать правильный бэкэнд восходящего потока.

Заранее спасибо

1 Ответ

0 голосов
/ 09 марта 2019

Возможен вариант, когда вы вводите имя узла через Downward API, а затем используете контейнер с коляской , который получает зону через Google Cloud API и, наконец, вводит переменную среды соответственно.

Внедрить переменную окружения из контейнера в другой, как правило, непросто.Во-первых, такой контейнер должен быть запущен до основного контейнера - это может быть достигнуто в Кубернетесе через init-контейнеры .Во-вторых, вам нужно ввести информацию.Можно было бы использовать общий том (но вам нужен способ просмотреть или прочитать его при запуске основного контейнера, чтобы заполнить переменные env).Другой вариант - использовать configmaps , где контейнер sidecar / init заполняет конфигурационную карту для использования основным контейнером - очевидно, эта проблема уже решена, например, здесь ,

...