3.3. 为 Pull Client 配置远程执行
默认情况下,远程执行使用 SSH 作为 Script 供应商的传输机制。但是,远程执行还提供基于拉取的传输,如果您的基础架构禁止从 Capsule 到主机传出连接,则可以使用这些传输。
这由 Capsule 上的 pull-mqtt
模式以及主机上运行的拉取客户端组成。配置 pull-mqtt
模式,以从 Katello Agent 迁移,这是基于拉取的传输已弃用方法。
注意
pull-mqtt
模式仅适用于 Script 提供程序。Ansible 和其他提供程序将继续使用其默认传输设置。
该模式为每个胶囊配置。某些胶囊可以配置为使用 pull-mqtt
模式,另一些使用 SSH。如果出现这种情况,则给定主机上的一个远程作业可能会使用 pull 客户端,而同一主机上的下一个作业将使用 SSH。如果要避免这种情况,请将所有 Capsules 配置为使用相同的模式。
流程
在每个相关胶囊服务器上启用基于拉取的传输:
# satellite-installer --scenario capsule \ --foreman-proxy-plugin-remote-execution-script-mode pull-mqtt
配置防火墙以允许在端口 1883 上允许 MQTT 服务:
# firewall-cmd --add-port="1883/tcp" # firewall-cmd --runtime-to-permanent
-
在
pull-mqtt
模式中,主机订阅作业通知到注册的 Capsule。因此,建议确保卫星服务器将远程执行作业发送到同一胶囊。为此,请在 Satellite Web UI 中导航至 Administer > Settings。在 Content 选项卡上,将 Prefer registered through Capsule for remote execution 的值设为 Yes 。 - 在为胶囊设置了基于拉取的传输后,还必须在每个主机上进行配置。如需更多信息,请参阅 管理主机 中的 远程执行的传输模式。