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

如何在Ansible清单中筛选指定主机执行Playbook?

如何在Ansible中针对特定dc标签的主机运行Playbook

没问题,针对你清单里带dc标签的主机筛选,有两种简单好用的方法,我给你详细说下:

方法一:命令行添加筛选参数(临时筛选)

直接在你现有的基础命令上,加上--limit参数,用Ansible的模式匹配语法指定筛选条件就行。完整命令如下:

ansible-playbook -i inventory/my_file --limit 'server:dc=pri' role/my_playbook.yaml

这里的语法逻辑很清晰:

  • server是你清单里的主机组名
  • :后面的dc=pri就是筛选条件,只会选中该组内dc变量等于pri的主机

方法二:在Playbook中固定筛选条件(长期需求)

如果这个筛选是固定需求,不想每次命令行都加参数,也可以直接在Playbook的hosts字段里指定筛选规则:

- name: 仅在dc=pri的服务器上执行任务
  hosts: server:dc=pri
  tasks:
    # 这里写你的具体任务内容

这样你直接运行原来的基础命令就行,Playbook会自动帮你筛选符合条件的主机:

ansible-playbook -i inventory/my_file role/my_playbook.yaml

两种方式都能达到你要的效果,选哪种就看你是临时需要筛选,还是这个规则会长期用到啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:25:43