gpt4 book ai didi

amazon-web-services - 如何从 kubernetes 的前端调用 spring api

转载 作者:行者123 更新时间:2023-12-04 08:00:22 24 4
gpt4 key购买 nike

我正在尝试创建一个 Kubernetes 应用程序,其中,我为后端(spring boot 微服务)和前端 pod 创建了一个 pod 和服务,以及
负载均衡器服务。

我想知道如何从 Kubernetes 的前端 pod 调用后端 API?

以下是正在运行的服务:

NAME         TYPE           CLUSTER-IP      EXTERNAL-IP       PORT(S)          AGE       SELECTOR
angular LoadBalancer 10.100.15.215 a17f17fd2e25011e886100a0e002191e-1613530232.us-east-1.elb.amazonaws.com 4200:30126/TCP 12s app=angular
kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 35m <none>
login ClusterIP 10.100.99.52 <none> 5555/TCP 13m app=login,tier=backend

我从前端调用以下 API,它显示名称未解析错误:
http://login/login

我还尝试使用集群 IP 调用 API,但失败了。

最佳答案

看起来您的后端服务正在端口 5555 上运行,所以你必须像这样调用你的后端服务:

http://login:5555/login

假设前端的 pod 位于同一个 Kubernetes namespace 上.如果它们位于不同的命名空间,您将调用如下内容:
http://login.<namespace>.svc.cluster.local:5555/login

也如描述 here .

请注意,这仅在集群内有效,如果您从集群外的 Web 浏览器访问 Angular 前端,这将不起作用,因为 Web 浏览器不知道您的后端在集群中的位置。因此,要么您必须使用另一种 LoadBalancer 类型的服务来公开您的后端,要么您可以考虑使用 Kubernetes Ingress带有入口 Controller 。

关于amazon-web-services - 如何从 kubernetes 的前端调用 spring api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53184263/

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