Issue
I'm deploying my application in the cloud, inside a cluster on 03 pods:
- one pod: backend - Quarkus
- one pod: frontend - Angular
- one pod: DB - Postgres
The backend has 03 endpoints:
- One endpoint: GraphQL
- Two endpoints: Rest
The pods are exposed:
- backend: ClusterIp
- DB: ClusterIp
- frontend: NodePort
I have an Ngnix web server & 02 ingress manifests; one for the backend and a second for the frontend:
1- backend-ingress:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mcs-thirdparty-back-ingress
namespace: namespace
annotations:
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx-internal
rules:
- host: backend.exemple.com
http:
paths:
- path: /
backend:
service:
name: mcs-thirdparty-backend
port:
number: 8080
pathType: Prefix
2- frontend-ingress:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mcs-thirdparty-ingress
namespace: namespace
spec:
ingressClassName: nginx-internal
rules:
- host: bilels.exemple.com
http:
paths:
- path: /
backend:
service:
name: mcs-thirdparty-frontend
port:
number: 80
pathType: Prefix
For the GraphQL endpoint/request; the frontend can correctly communicate with the backend and fetchs the required data. When I run the POST request to fetch the accessToken from the server (Rest Endpoint), I receive the 404 error code.
I tried to add several changes in the backend-ingress manifest, but always 404
- path: /(.*)
- path: /*
- path: /response
Solution
I thinks that I managed to make another Diagnotic method wiht the help for Ryan Dawson. I did PortForaward the backend pod and request from the locally, then I found that there is a 500 error code --> meaning that the request was not matching the api requirements: in the frontend I was sendign the wrong context type.
--> so the ingress config is already in a good shape.
Answered By - Bilel-NEJI
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.