Связь от Pod до Pod на том же узле внутри kubernetes в GCP - PullRequest
0 голосов
/ 05 ноября 2018

Я создал и развернул развертывание и обслуживание как для фронтального (REACT), так и для внутреннего (EXPRESS NODE JS) проекта в kubernetes. Я успешно развернут в Kubernetes (кластер с одним узлом) в одном узле с двумя модулями (т. Е. One Pod -> REACT APP и SECOND POD -> EXPRESS NODE JS ) в облачной платформе Google.

Вопрос:

1.) Как связаться с одним модулем в другом модуле внутри узла в кластере Kubernetes?

2.) Я открыл свое приложение REACT для внешнего мира, создав LoadBalancer Службу типов в kubernetes , и я могу получить доступ к конечной точке приложения React из браузера. Теперь можно ли получить доступ к приложению EXPRESS из приложения REACT внутри узла, не подвергая мое приложение EXPRESS внешнему миру. Как этого добиться?

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

1 Ответ

0 голосов
/ 05 ноября 2018

Если веб-интерфейс представляет собой приложение JavaScript на основе браузера, ресурсы JavaScript могут быть размещены из модуля в кластере, но логика там не работает. Передний JavaScript запускается в браузере пользователя. Для вызова любых внутренних конечных точек в кластере из браузера пользователя требуется внешний URL-адрес в цепочке, а не только внутренний.

Типичный способ сделать это - настроить службу типа LoadBalancer и поместить внешнюю конечную точку в конфигурацию бэкэнда. Другой - настроить Ingress Controller и развернуть как Service, так и Ingress вместе с бэкэндом. С Ingress вы можете узнать, каким будет внешний URL-адрес, прежде чем развертывать Сервис (и это проще всего, если вы используете DNS). Внутренняя связь кластера не требует Ingress и может быть выполнена с помощью служб типа ClusterIP, но я думаю, что вам нужна внешняя связь.

Вам потребуется предоставить внешнюю точку входа для пользователей, чтобы в любом случае подключаться к интерфейсу пользователя (место, где размещается JS). При входе вы можете настроить маршрут к бэкэнду как другой путь на том же (внешнем) хосте.

...