gpt4 book ai didi

reactjs - minikube 中两个 pod 之间的 REST api 调用

转载 作者:行者123 更新时间:2023-12-02 12:26:50 25 4
gpt4 key购买 nike

我在 minikube 集群上运行一个 REACT 应用程序,该集群包括同一命名空间中的前端和后端 default .当前端向后端发送请求时,请求不会到达后端。负载平衡通过 ingress-nginx .
前端服务...

apiVersion: v1
kind: Service
metadata:
name: frontend-service
spec:
type: ClusterIP
selector:
app: frontend-panel
ports:
- port: 3000
targetPort: 3000
后端服务
apiVersion: v1
kind: Service
metadata:
name: backend-service
spec:
type: ClusterIP
selector:
app: backend-panel
ports:
- protocol: TCP
port: 8080
targetPort: 8080

前端是一个 react 应用程序,它调用在同一个 minikube 集群一侧运行的不同服务..,
react 的配置文件。
window.config = {
backend: {
backend_service: "http://backend-service:8080/"
}
}
kubectl describe svc backend-service 的结果.
Name:              backend-service
Namespace: default
Labels: <none>
Annotations: Selector: app=backend-panel
Type: ClusterIP
IP: 10.106.135.236
Port: <unset> 8080/TCP
TargetPort: 8080/TCP
Endpoints: 172.17.0.10:8080
Session Affinity: None
Events: <none>
除了 "http://backend-service:8080/"我试过 "http://backend-service.default.svc.cluster.local:8080/" .但是在没有失败请求的情况下,它会挂起很长时间。

最佳答案

服务看起来不错,因为它的 POD IP 和 PORT 为 Endpoints .验证您是否能够使用 curl 172.17.0.10:8080 通过 PODIP 和 PORT 直接访问 pod来自集群中的另一个 pod。如果这不起作用,那么可能有两个原因

  • 应用程序未监听端口 8080 .只需指定 containerPort: 8080在 pod 中,yaml 不会使应用程序监听端口 8080 .
  • 应用程序正在监听 127.0.0.1而不是 0.0.0.0 .
  • 关于reactjs - minikube 中两个 pod 之间的 REST api 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62792884/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com