My problem is that I have seprate services for both the back and front ends when I go into a pod and run the curl http://backend it resolves and communicates with the backend pod but then I put it into my angular as http://backend it tells me it can't be resolved, How is it that the pods can communicate but the running application cant
A Service provides visibility inside the cluster. If you want to expose your Service to the outside world you need to use an Ingress.
P.D.: You could expose your services using NodePort but it is not recommended.
P.D. (2): If you already have a Backend Service and a Frontend Service, what makes sense is only to expose the frontend via ingress, and keep backend only reachable inside the cluster, to be consumed only from Frontend