3.3. 为 Pull 客户端配置远程执行
默认情况下,远程执行使用 SSH 作为 Script 供应商的传输机制。但是,远程执行还提供基于拉取的传输,如果您的基础架构禁止从 Capsule 到主机的传出连接,则可以使用它。
这由 Capsule 上的 pull-mqtt
模式组成,以及主机上运行的拉取客户端。配置 pull-mqtt
模式,以便从 Katello Agent 迁移,这是基于拉取的传输的已弃用方法。
注意
pull-mqtt
模式仅适用于 Script 提供程序。Ansible 和其他提供程序将继续使用其默认传输设置。
模式为每个胶囊配置。有些胶囊可以配置为使用 pull-mqtt
模式,而其他胶囊则使用 SSH。如果出现这种情况,则给定主机上的一个远程作业可能会使用拉取客户端,同一主机上的下一个作业将使用 SSH。如果要避免这种情况,请将所有 Capsules 配置为使用相同的模式。
流程
在每个相关 Capsule 服务器上启用基于拉取的传输:
# 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
模式中,主机向注册它们的胶囊订阅作业通知。因此,建议确保 Satellite 服务器向同一胶囊发送远程执行作业。要做到这一点,在 Satellite Web UI 中进入到 Administer > Settings。在 Content 选项卡上,将 Prefer registered through Capsule for remote execution 的值设为 Yes 。 - 在 Capsule 上设置基于拉取的传输后,您还必须在每个主机上进行配置。如需更多信息,请参阅 管理主机 中的 远程执行的传输模式。