#node.js #reactjs #express #kubernetes
#node.js #reactjs #экспресс #kubernetes
Вопрос:
Приложение, которое я использую, развернуто на kubernetes с интерфейсом (React) и несколькими серверными службами (Express.js ). Мне нужно, чтобы мой интерфейс выполнял вызовы API выборки для каждой службы. Интерфейс и каждая служба развертываются в своих собственных модулях. Служба предоставляет доступ к каждому модулю, поэтому у меня есть кластерный IP-адрес для каждого из них. Интерфейс был открыт с использованием балансировщика нагрузки, поэтому у меня есть внешний IP-адрес.
Вопрос: каким должен быть мой вызов fetch, чтобы получить доступ к одной из этих служб? (например, fetch();) Я что-то упускаю, чтобы сделать это возможным? Я просмотрел документы K8s и не мог понять, что делать.
Может кто-нибудь, пожалуйста, указать мне правильное направление?
Комментарии:
1. Вы видели эту документацию kubernetes kubernetes.io/docs/tasks/access-application-cluster /… ?
Ответ №1:
Модули в развертывании внешнего интерфейса запускают образ, настроенный для поиска конкретной серверной службы. Ключом к подключению интерфейса к серверной части является серверная служба. Служба создает постоянный IP-адрес и запись DNS-имени, чтобы всегда можно было связаться с внутренним микросервисом. Служба использует селекторы для поиска модулей, к которым она направляет трафик.
Интерфейс подключается к серверным рабочим модулям, используя DNS-имя, присвоенное серверной службе. DNS-имя, например, «hello», которое является значением name
поля в предыдущем файле конфигурации службы.
Внешний IP-адрес может использоваться для взаимодействия со frontend
службой извне кластера. Когда интерфейс и серверные части теперь подключены. Вы можете попасть в конечную точку, используя команду curl на внешнем IP-адресе вашей интерфейсной службы.
curl http://${EXTERNAL_IP}
Следуйте инструкциям отсюда: подключение с поддержкой интерфейса.
Пожалуйста, взгляните: множественный сервер-kubernetes, интерфейс-серверная часть-соединение, kubernetes-сервисы.