首页/系统与基础设施/自动化运维速查/批量执行的目标选择与过滤
批量执行与作业50 条

批量执行的目标选择与过滤

批量执行的目标选择是从全部受管主机中选出本次要触碰的那一组,常见维度有分组角色、标签、主机名通配与正则、IP 段、环境与动态清单。核心要求是目标结果必须可打印复核,并把命中数为 0 当作异常处理。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​​​‌​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌​‌​​​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​​‌​​‌‌​​‌‌‌​‌‌​​‌​‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌​​‌​‌​‌‌​‌‌​​​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌​​‌‌​​‌‌​‌​​‌​‌‌​‌‌​​​‌‌‌​‌​​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

目标选择与过滤是什么

目标选择解决的是「这批操作到底碰哪些机器」。可选维度包括分组或角色、标签、主机名通配与正则、IP 网段、环境标识,以及从云 API 或 CMDB 实时取数的动态清单。真正的差别在于默认策略:白名单(默认拒绝、只动列明的目标)比黑名单(默认允许、排除少数的危险目标)安全得多,因为新上线主机在后者会默认落进允许范围。

基本信息

适用平台Ansible patterns、Salt targeting、kubectl 标签选择器、PowerShell -ComputerName 属同一类问题
常见维度组名、glob 通配、正则、标签表达式、IP 段、环境
核心要求执行前能打印命中清单并人工或脚本复核
失败模式静默不匹配:选择结果为空但不报错

典型使用场景

  • 只对同版本主机做升级,避免版本混杂带来的兼容问题
  • 只对某个机房操作,控制爆炸半径与出口带宽占用
  • 从云 API 动态取清单,新扩容主机自动纳入管理
  • 用排除法剔除刚交付、状态尚未稳定的机器
  • 按业务线标签选择,避免误伤同一集群里的其他租户

选择表达式示例

选择表达式示例
ansible 'web:&prod:!canary' --list-hosts   # 交集加重排除,只列目标不执行
ansible all --list-hosts -l 'db*'           # 通配命中范围先看一眼再决定
ansible 'web' -m ping                       # 执行前先探活,确认目标可达
kubectl get pods -l 'app=api,tier!=cache'   # 标签选择器同样支持不等与集合运算
ip -br addr | grep -c '10\.20\.'            # 按网段核对实际命中的主机数

过滤维度与风险

维度示例主要风险
分组角色web、db、redis组定义过时,漏选或误选
主机名通配web*通配过宽把生产一起命中
标签表达式env=prod,role=api标签缺失时默认不匹配,静默漏选
IP 网段10.20.0.0/16网段划分与实际业务边界不一致
动态清单云厂商 API 查询缓存未刷新,新机器不在清单或旧机器残留
多数工具的清单模式支持「只列目标不执行」,这是投入产出比最高的一道保险:把命中清单落盘、统计条数、与预期对比之后再真正执行。
标签或清单项缺失时,工具通常是静默不匹配而非报错。应把「目标数为 0」和「目标数突变」都接入告警,否则最容易出现以为变更已生效、实际一台没动的情况。

易错点

  • 通配符多打一个字符把生产环境一并命中,且执行前未打印目标清单核对
  • 依赖动态清单但缓存未刷新,新扩容主机漏掉、已下线主机仍留在清单中
  • 用黑名单排除法选择目标,新上线机器默认落在允许范围内被执行
  • 目标清单从脚本变量拼接而成,实际命中与预期不一致却无人核对

数据来源与参考

  • Ansible 官方文档:Patterns 与 Inventory 组织
  • Kubernetes 官方文档:标签与选择器
  • Salt 官方文档:Targeting Minions

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/automation/batch-target-selection-filtering.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​​​‌​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌​‌​​​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​​‌​​‌‌​​‌‌‌​‌‌​​‌​‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌​​‌​‌​‌‌​‌‌​​​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌​​‌‌​​‌‌​‌​​‌​‌‌​‌‌​​​‌‌‌​‌​​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​