通过内部网络设置 Jenkins 永久代理

通过内部网络设置 Jenkins 永久代理

我正在尝试将永久 Jenkins 节点连接到同一 AWS VPC 内的 Jenkins 主实例。

设置:

  • AWS 内部私有子网中的 Jenkins 主实例
  • 以互联网负载均衡器为前端,仅限于办公室 IP
  • 指向所述负载均衡器的外部 DNS 条目
  • 内部负载均衡器允许来自网络内部的连接
    • 内部 DNS 与外部 DNS 不同

由于 Jenkins 配置代理的方式,我无法让节点通过 VPC 网络连接到主节点 - 它总是尝试通过互联网,然后被 ACL 阻止。在代理初始化中更改 JNLP URL 不起作用,它仍然转到外部地址来获取代理端口信息。

java -jar agent.jar -jnlpUrl http://internal-jenkins-load-balancer.us-west-2.elb.amazonaws.com/computer/test-agent/slave-agent.jnlp -secret ******** -workDir "/home/ubuntu"
Mar 10, 2022 3:34:13 PM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir
INFO: Using /home/ubuntu/remoting as a remoting work directory
Mar 10, 2022 3:34:13 PM org.jenkinsci.remoting.engine.WorkDirManager setupLogging
INFO: Both error and output logs will be printed to /home/ubuntu/remoting
Mar 10, 2022 3:34:14 PM hudson.remoting.jnlp.Main createEngine
INFO: Setting up agent: test-agent
Mar 10, 2022 3:34:14 PM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Mar 10, 2022 3:34:14 PM hudson.remoting.Engine startEngine
INFO: Using Remoting version: 4.5
Mar 10, 2022 3:34:14 PM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir
INFO: Using /home/ubuntu/remoting as a remoting work directory
Mar 10, 2022 3:34:14 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [https://jenkins-master.example.com/]
SEVERE: Failed to connect to https://jenkins-master.example.com/tcpSlaveAgentListener/: connect timed out

将 Jenkins URL 参数更改为内部负载均衡器名称可行,也许我可以设置另一个参数?

注意:我想避免为此创建私有托管区域。

相关内容