Tocmai am implementat pod-uri frontend și backend și există o problemă cu conectivitatea între ele.
Podul backend este configurat în felul următor:
apiVersion: v1
fel: Pod
metadate:
nume: af-backend-pod
etichete:
nume: af-backend-pod
aplicație: format adv
specificație:
containere:
- nume: af-backend
imagine: localhost:5000/backend:1.2
porturi:
- containerPort: 4040
env:
- nume: NODE_ENV
valoare: "test"
Serviciul backend pod:
apiVersion: v1
fel: Serviciu
metadate:
nume: af-backend
etichete:
nume: af-backend-service
aplicație: format adv
specificație:
porturi:
- port: 4040
targetPort: 6011
selector:
nume: af-backend-pod
aplicație: format adv
Problema apare atunci când interfața încearcă să apeleze backend-ul folosind numele definit în configurația pod:
apiVersion: v1
fel: Pod
metadate:
nume: af-frontend-pod
etichete:
nume: af-frontend-pod
aplicație: format adv
specificație:
containere:
- nume: af-frontend
imagine: localhost:5000/frontend:1.1
porturi:
- containerPort: 80
env:
- nume: REACT_APP_SETUP
valoare: "test"
- nume: REACT_APP_BACKEND_URL
valoare: "af-backend" # <- this
- nume: REACT_APP_BACKEND_PORT
valoare: "6011"
În prezent, frontend-ul este expus de un serviciu NodePort la portul 30120. Erorile de înregistrare în consolă arată că frontend-ul încearcă să apeleze backend-ul folosind URL-ul ca http://10.11.12.13:30120/ care este incorect: m-aș aștepta să văd API-ul backend la portul 6011, intern.
Este corectă înțelegerea mea? Sau ar trebui să expun serviciul de backend pentru a fi accesibil și extern?
Sau poate există o modalitate de a formata adresa URL a backend-ului, decupând portul și înlocuindu-l cu cel dorit?