13.2. 远程执行工作流
对于您创建的自定义 Ansible 角色,或您下载的角色,您必须安装在胶囊服务器上包含角色的软件包。在使用 Ansible 角色之前,您必须将角色从安装了它们的 Capsule 中导入到 Satellite 中。
当您在主机上运行远程作业时,对于每个主机,Satellite 会执行以下操作,以查找要使用的远程执行胶囊:
Satellite 只搜索启用了远程执行功能的 Capsules。
- Satellite 找到启用了 远程执行 复选框的主机接口。
- Satellite 查找这些接口的子网。
- Satellite 找到分配给这些子网的远程执行胶囊。
- 从这一组胶囊中,Satellite 选择具有最少运行任务的胶囊。通过执行此操作,Satellite 可确保在远程执行胶囊之间平衡作业负载。
如果您启用了 Prefer registered through Capsule for remote execution,Satellite 会使用主机注册到的 Capsule 运行 REX 作业。
默认情况下,Prefer registered through Capsule for remote execution 被设置为 No。要启用它,在 Satellite web UI 中,进入到 Administer > Settings,在 Content 标签页中将 Prefer registered through Capsule for remote execution
设置为 Yes。这可确保卫星通过注册到的胶囊在主机上执行 REX 作业。
如果 Satellite 在此阶段找不到远程执行胶囊,并且 Fallback 到 Any Capsule 设置是否已启用,则 Satellite 会添加另一组胶囊来选择远程执行胶囊。Satellite 从分配给主机的以下类型的 Capsules 中选择最轻巧的 Capsules:
- 分配给主机子网的 DHCP、DNS 和 TFTP 胶囊
- 分配给主机的域的 DNS Capsule
- 分配给主机域的 realm Capsule
- Puppet 服务器实例
- Puppet CA Capsule
- OpenSCAP Capsule
如果 Satellite 在此阶段找不到远程执行胶囊,并且如果启用了 Enable Global Capsule 设置,Satellite 会从主机的机构和位置中的所有胶囊中选择最轻便的远程执行胶囊,以执行远程作业。