Kubernetes服务在本地转发端口使连接被拒绝

我已经使用kubectl将外部API端口转发到localhost:3000,并且能够通过Postman,浏览器等发出请求并接收响应。但是,当我构建并部署Spring应用程序以使用端口时,转发了API地址和端口(即localhost:3000)配置以接收和处理响应,检查部署它的本地Kubernetes pod的日志表明连接被拒绝:

java.net.connectexception: Connection refused (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)

我无法理解为什么本地部署的pod不能访问提供的URL,而看上去似乎可以正常工作。

jiro867 回答:Kubernetes服务在本地转发端口使连接被拒绝

听起来您好像正在将此Spring应用程序部署到Kubernetes集群。部署Spring应用程序时,它将在容器中运行,而localhost:3000是应用程序运行所在的Pod的端口3000,而不是主机的端口3000。如果您无法使用入口等功能访问此外部服务,则可以尝试在与Spring应用程序位于同一容器中部署的单独容器中向前运行端口。

本文链接:https://www.f2er.com/3123079.html

大家都在问