13.22. 执行远程作业
您可以针对一个或多个主机执行基于作业模板的作业。
Ansible 作业在多个主机上运行的批处理,因此您无法取消在特定主机上运行的作业。只有在 Ansible Playbook 在批处理中的所有主机上运行后,作业才会完成。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Monitor > Jobs,再点 Run job。
- 选择要使用的 Job category 和 Job template,然后单击 Next。
选择您要在其上运行作业的主机。如果您没有选择任何主机,则该作业将在当前上下文中看到的所有主机上运行。
注意如果要选择主机组及其所有子组,则选择主机组不足以选择主机组,因为该作业将直接在该组中的主机上运行,而不是在子组中的主机上运行。反之,您必须选择主机组及其所有子组,或使用此搜索查询:
hostgroup_fullname ~ "My_Host_Group*"
将 My_Host_Group 替换为顶级主机组的名称。
- 如果需要,为作业模板提供输入。不同的模板有不同的输入,一些模板没有任何输入。输入所有必要的输入后,点 Next。
- 可选: 要为作业配置高级设置,请填写 Advanced 字段。要了解更多有关高级设置的信息,请参阅 第 13.23 节 “作业向导中的高级设置”。
- 点击 Next。
计划作业的时间。
- 要立即执行作业,请保留预选的 Immediate 执行。
- 要在以后执行作业,请选择 future execution。
- 要定期执行作业,请选择 Recurring execution。
可选:如果您选择将来或重复执行,请选择 Query type,否则点 Next。
- 静态查询 意味着作业在您提供的主机的确切列表中执行。
- 动态查询 意味着仅在执行作业前评估主机列表。如果您根据某些过滤器输入主机列表,则结果可能与您第一次使用该过滤器时不同。
选择查询类型后,点 Next。
可选:如果您选择将来或重复执行,请提供额外的详情:
- 对于将来的执行,请在日期和时间输入开始。您还可以选择 Starts before and time。如果作业在这段时间之前无法启动,它将被取消。
- 对于 Recurring execution,请选择开始日期和时间、频率以及结束重复作业的条件。您可以选择不间断在一定时间结束、以一定时间结束,或者在指定数量的重复后结束。您还可以添加 Purpose - 用于跟踪作业的特殊标签。一次只能有一个具有给定目的的活动作业。
输入所需信息后,点 Next。
- 查看作业详情。您可以选择返回作业向导的任何部分并编辑信息。
- 单击 Submit 以调度要执行的作业。
CLI 过程
在 Satellite 中输入以下命令:
# hammer settings set \ --name=remote_execution_global_proxy \ --value=false
查找您要使用的作业模板 ID:
# hammer job-template list
显示模板详情以查看模板所需的参数:
# hammer job-template info --id My_Template_ID
使用自定义参数执行远程作业:
# hammer job-invocation create \ --inputs My_Key_1="My_Value_1",My_Key_2="My_Value_2",... \ --job-template "My_Template_Name" \ --search-query "My_Search_Query"
将
My_Search_Query
替换为定义主机的过滤器表达式,如"name ~ My_Pattern"
。
其他资源
-
有关使用 Hammer CLI 创建、监控或取消远程作业的更多信息,请输入
hammer job-template --help
和hammer job-invocation --help
。