Разобрать узел js app с хостом в качестве локального хоста на kubernetes - PullRequest
0 голосов
/ 15 сентября 2018

Я потратил целый день на поиски ответа, почему мое приложение node js недоступно из Интернета, когда я запускаю его в Kubernetes с loadbalancer в качестве типа службы.Решением было изменить хост с localhost на 0.0.0.0 в определении приложения сервера js-узла, но я до сих пор не знаю, почему?

Надеюсь, это сэкономит время в будущем.

1 Ответ

0 голосов
/ 15 сентября 2018

Когда вы говорите, что устанавливаете хост, я предполагаю, что вы имеете в виду то, что приложение должно прослушивать в функции прослушивания, например сервер экспресс-приложений. прослушивать все интерфейсы вместо только localhost Вы можете привязать к определенному адресу или оставить его открытым для всех, используя маску 0.0.0.0 (функция нулей является маской для сопоставления, а не истинного IP-адреса - https://stackoverflow.com/a/20778887/9705485).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...