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

问题描述

我有一个在 GKE 上运行的 kubernetes 集群和一个在 GCP 实例上运行的 Jenkins 服务器。我正在使用 Kubernetes 插件在 Kubernetes 集群上动态创建 Pod。我为此创建了一个管道(声明性语法)。所以我知道 Jenkins 从代理在端口 50000 上与 Jenkins 主代理进行通信。 配置的一个片段

但是由于某种原因,当我查看 Jenkins 创建的 JNLP 容器的日志时,我收到了一个异常 - 找不到 tcpSlaveAgentListener。 容器日志的片段 根据上图,我假设隧道不成功,因为它试图连接到http://34.90.46.204:8080/tcpSlaveAgentListener/而它应该连接到http://34.90.46.204: 50000/tcpSlaveAgentListener/

标签: jenkins-pipelinekubernetes-jenkins-plugin

解决方案


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

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

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

希望这可以帮助某人。


推荐阅读