无法连接kubernetes中的前端和后端部署

时间:2020-10-28 12:19:20

标签: kubernetes google-cloud-platform google-kubernetes-engine kubernetes-ingress

我在一个集群GKE中有两个k8s部署,对于一个Web应用程序,一个是前端(反应),另一个是后端(python),该前端工作正常,但是当我尝试在该前端做一些调用时我有this的后端,我有一个用于前端的入口,该入口工作得很好,我唯一不知道的原因是为什么前端无法到达后端,我希望他们通过服务进行通信。我有以下服务:

前端服务

apiVersion: v1
kind: Service
metadata:
  name: frontend
spec:
  selector:
    app: hello
    tier: frontend
  ports:
  - protocol: "TCP"
    port: 80
    targetPort: 3000

后端服务

apiVersion: v1
kind: Service
metadata:
  name: backend
spec:
  selector:
    app: hello
    tier: backend
    track: stable
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8000 

有任何修复建议吗?

1 个答案:

答案 0 :(得分:1)

当应用程序是诸如React或Angular之类的客户端应用程序时,该应用程序将在客户端浏览器上运行;不在服务器端。在这种情况下,客户端浏览器中的应用程序必须调用服务器上的API(后端应用程序)。

在这种情况下,即使应用程序被命名为后端;它必须通过Ingress公开这些API,以便客户端浏览器上运行的前端应用程序可以使用这些API。