Jenkins EC2 Plugin 可以跨不同网络连接主从节点吗?

问题描述 投票:0回答:1

我正在本地环境中设置 Jenkins,其中 Jenkins 主节点 位于本地,并且我使用 EC2 插件 在 AWS 中按需配置 从节点。该设置旨在通过 SSH 将主节点连接到 EC2 从节点。

问题

我可以使用从属节点的公共 IP 地址手动通过 SSH 从主节点连接到从属节点,不会出现任何问题。但是,当Jenkins尝试连接从节点时,连接失败,Jenkins中显示以下日志:

INFO: Connecting to 172.31.44.131 on port 22, with timeout 10000.
Nov 06, 2024 9:58:55 AM hudson.plugins.ec2.EC2Cloud
INFO: Failed to connect via ssh: The kexTimeout (10000 ms) expired.
Nov 06, 2024 9:58:55 AM hudson.plugins.ec2.EC2Cloud

诊断

Jenkins 似乎正在尝试使用其私有 IP 地址 (172.31.44.131) 连接到从属节点,假设从属节点与主节点位于同一本地网络上。这会导致超时,因为主服务器无法从 AWS 网络外部通过 SSH 访问 EC2 实例的私有 IP。

我尝试过的事情

  • 手动验证主节点对从节点公网IP的SSH访问,有效。
  • 查看 EC2 插件设置,但没有找到强制主节点使用从节点的公共 IP 的选项。

问题

如何配置 EC2 插件或 Jenkins 使用 EC2 从节点的公共 IP 地址而不是私有 IP?或者,有没有办法让 Jenkins 主节点从 AWS 网络外部访问其私有 IP 上的从节点?

amazon-web-services jenkins amazon-ec2 ssh
1个回答
0
投票

在“高级”下查找“连接策略”。有“公共IP”和“公共DNS”选项。

© www.soinside.com 2019 - 2024. All rights reserved.