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