与网真服务的连接出现502错误

时间:2019-04-18 18:05:18

标签: java spring-boot kubernetes proxy vpn

我正在使用kubernetes集群中的一些服务。我正在尝试实现远程呈现,以允许对群集中的代码进行本地调试,或者允许请求请求中的潜在更改。集群中的服务正在运行SpringBoot REST服务。

我有一个使用curl到达群集中运行的REST端点的简单测试用例。我可以在没有网真的情况下成功到达它。

我在Win7笔记本电脑上,正在运行具有NAT网络的Ubuntu VM。我可以运行网真命令行,其“ --run”部分运行“ mvn spring-boot:run”。这默认为代理方法“ vpn-tcp”。该服务似乎可以正常启动。我可以成功地使用“ localhost:8080”命中服务端点。

但是,如果我重新运行测试用例以访问群集中的服务,它将失败并显示502(错误网关)。

运行网真时,我可以看到它替换了运行springboot映像的两个吊舱,换成一个运行网真映像的吊舱。在运行网真之前和之后,我已经查看了服务和pod的详细属性,并且在细微的差别中没有发现任何明显的问题。

如果我随后取消了远程呈现过程,它最终将还原原始的pod,并且我的测试用例将再次起作用。

请注意,我目前正在通过VPN连接到公司网络时进行此测试。网真文档中的说明说不要将“ vpn-tcp”与另一个VPN混合使用。我不确定这是否相关。第一次尝试该测试时,我在办公室而不是在VPN上,并且看到了相同的结果。

我还尝试将代理方法更改为“ inject-tcp”。这导致SpringBoot服务无法启动,指的是无法连接到服务器的Jaeger客户端。

如果有关系,这是我正在执行的智真命令(还原inject-tcp更改)和一些初始输出:

+ telepresence --verbose --swap-deployment cartms-blue --expose 8080 --run mvn spring-boot:run '-Dspring-boot.run.jvmArguments=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005' -Dspring-boot.run.folders=opt/ajsc/etc/config
T: Starting proxy with method 'vpn-tcp', which has the following limitations: All processes are affected, only one telepresence can run per machine, and you can't use other VPNs. You may need to add cloud hosts and headless services with --also-proxy. For a full list of method limitations see https://telepresence.io/reference/methods.html
T: Volumes are rooted at $TELEPRESENCE_ROOT. See https://telepresence.io/howto/volumes.html for details.
T: Starting network proxy to cluster by swapping out Deployment cartms-blue with a proxy
T: Forwarding remote port 8080 to local port 8080.
T: Forwarding remote port 8443 to local port 8443.

T: Setup complete. Launching your command.

我正在寻找可以推动这一发展的想法。

0 个答案:

没有答案