You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWX模板启动时如何快速选择实例组并实现自动匹配?

实现AWX自动匹配实例组的配置方案

方法1:主机/主机组变量 + 作业模板动态参数(最直接方案)

通过在清单中给主机/主机组绑定对应实例组的变量,让作业模板自动读取该变量匹配实例组。

步骤1:给主机/主机组添加实例组映射变量

  • 进入AWX的Inventories,打开目标清单,选择对应的Hosts或Groups
  • 编辑目标主机/主机组的Variables,添加如下变量(替换为你的实例组名称):
    target_instance_group: "asia-east-instance-group"
    
    注:按区域分组的场景,建议直接给区域主机组配置该变量,比如asia-east组统一设置对应实例组。

步骤2:配置作业模板启用动态实例组选择

  • 打开目标作业模板,找到Instance Groups配置项
  • 勾选Prompt on launch,然后在模板的Extra Variables中添加引用变量的逻辑:
    instance_group: "{{ hostvars[inventory_hostname].target_instance_group | default('default-instance-group') }}"
    
    (如果针对主机组,可改用组变量引用:{{ groups['asia-east'][0].target_instance_group }})
  • 保存模板后,启动作业时AWX会自动读取主机/主机组的target_instance_group变量,匹配对应实例组执行任务。

方法2:区域映射变量 + 工作流条件分支(多区域场景更灵活)

通过全局映射表和工作流的条件判断,实现区域与实例组的自动匹配。

步骤1:创建区域-实例组全局映射

在清单的Group Variables中添加全局映射:

region_instance_group_map:
  asia-east: "asia-east-instance-group"
  europe-west: "europe-west-instance-group"
  north-america: "north-america-instance-group"

然后给每个区域主机组添加region变量,比如asia-east组设置:

region: "asia-east"

步骤2:配置工作流模板

  • 创建工作流,添加多个作业模板节点,每个节点对应一个区域的实例组
  • 给每个节点设置条件分支:当region变量匹配对应区域时,触发该节点并指定对应实例组
  • 启动工作流时,AWX会根据主机组的region变量自动匹配对应实例组节点执行作业。

方法3:AWX API启动作业(进阶自动化)

通过AWX API提交作业时,直接指定实例组参数,结合主机变量实现完全自动化:

curl -X POST \
  https://your-awx-url/api/v2/job_templates/<模板ID>/launch/ \
  -H "Authorization: Bearer <你的令牌>" \
  -H "Content-Type: application/json" \
  -d '{
    "instance_group": "{{ hostvars[inventory_hostname].target_instance_group }}",
    "inventory": <清单ID>
  }'

可将该脚本与Ansible结合,根据主机变量自动生成请求参数。

注意事项

  • 实例组名称与变量值需完全一致,大小写敏感
  • 多变量冲突时,优先使用主机组变量,或在作业模板中设置优先级逻辑
  • 测试时可查看Job Details中的Instance Group字段,确认自动匹配是否成功

内容的提问来源于stack exchange,提问作者user10536291

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 16:05:18