Я только что развернул внешний и внутренний модули, и возникла проблема с подключением между ними.
Бэкенд-под настраивается следующим образом:
апиВерсия: v1
вид: стручок
метаданные:
имя: af-backend-pod
этикетки:
имя: af-backend-pod
приложение: рекламный формат
спецификация:
контейнеры:
- имя: аф-бэкэнд
изображение: локальный: 5000/бэкэнд: 1.2
порты:
- контейнерПорт: 4040
среда:
- имя: NODE_ENV
значение: "тест"
Служба бэкэнд-модуля:
апиВерсия: v1
вид: сервис
метаданные:
имя: аф-бэкенд
этикетки:
имя: аф-бэкэнд-сервис
приложение: рекламный формат
спецификация:
порты:
- порт: 4040
целевой порт: 6011
селектор:
имя: af-backend-pod
приложение: рекламный формат
Проблема возникает, когда внешний интерфейс пытается вызвать серверную часть, используя его имя, указанное в конфигурации модуля:
апиВерсия: v1
вид: стручок
метаданные:
имя: af-frontend-стручок
этикетки:
имя: af-frontend-стручок
приложение: рекламный формат
спецификация:
контейнеры:
- название: аф-фронтенд
изображение: локальный: 5000/интерфейс: 1.1
порты:
- контейнерПорт: 80
среда:
- имя: REACT_APP_SETUP
значение: "тест"
- название: REACT_APP_BACKEND_URL
значение: "af-backend" # <- это
- имя: REACT_APP_BACKEND_PORT
значение: "6011"
В настоящее время внешний интерфейс предоставляется службой NodePort через порт 30120. Регистрация ошибок в консоли показывает, что внешний интерфейс пытается вызвать серверную часть, используя URL-адрес, например http://10.11.12.13:30120/ что неверно: я ожидаю увидеть внутренний API на порту 6011.
Правильно ли я понимаю? Или я должен сделать внутреннюю службу доступной извне?
Или, может быть, есть способ отформатировать URL-адрес бэкэнда, вырезав порт и заменив его на нужный?