My frontend pod is trying to talk to my backend pod to fetch all the users in a DB. The call is straightforward and works when I use curl inside BOTH the frontend and istio-proxy containers in the frontend pod:
kubectl exec -it frontend-pod -c frontend-container -- bash
curl backend-svc:8000/users/
# returns correct response
kubectl exec -it frontend-pod -c istio-proxy -- bash
curl backend-svc:8000/users/
# returns correct response
However, my frontend react app is having trouble hitting this endpoint in Chrome. Here are the console logs:
GET http://backend-svc:8000/users/ net::ERR_NAME_NOT_RESOLVED
Looks like the domain name cannot be resolved. Any idea what I'm doing wrong here?
I'm using nginx to serve my frontend react application (not sure if that may be a problem).
EDIT: Some feedback says I need to adjust my Gateway and/or Virtual service files. Here's what they look like now:
# Source: myapp/gateway.yaml
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: myapp-gateway
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- '*'
---
# Source: myapp/virtual-service.yaml
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: myapp
spec:
hosts:
- '*'
gateways:
- myapp-gateway
http:
- route:
- destination:
host: frontend-svc
port:
number: 80