我在 Jenkins->Configure Cloud 中指定的 Jenkins 隧道地址似乎不起作用。有人可以帮我吗?

The Jenkins tunnel address which I specify in the Jenkins->Configure Cloud does not seem to work. Can someone help me with the same?

我在 GKE 上有一个 kubernetes 集群 运行,在 GCP 实例上有一个 Jenkins 服务器 运行。 我正在使用 Kubernetes 插件在 kubernetes 集群上动态创建 pods。我为此创建了一个管道(声明性语法)。 所以我知道 Jenkins 从属代理在端口 50000 上与 Jenkins 主控通信。 A snip of the configuration

但出于某种原因,当我查看由 Jenkins 创建的 JNLP 容器的日志时,我收到了一个异常 - tcpSlaveAgentListener 未找到。 A snip of the container log 根据上图,我假设隧道连接不成功,因为它正在尝试连接到 http://34.90.46.204:8080/tcpSlaveAgentListener/ whereas it should connect to http://34.90.46.204:50000/tcpSlaveAgentListener/

我问的是一个懒惰的问题,但我解决了这个问题。

在“管理 Jenkins”->“配置全局安全”设置中:

为TCP入站代理设置端口的选项:取消select默认select禁用选项,然后为入站代理提供一个端口进行交互(50000 ). A snip of the configuration Jenkins 使用 TCP 端口与入站连接的代理进行通信。如果你打算使用入站代理,你可以允许系统在启动时随机 select 一个端口(这避免干扰其他程序,包括其他 Jenkins 实例)。由于防火墙很难保护随机端口,您可以指定一个固定端口号并相应地配置您的防火墙。

希望这对某人有所帮助。