Ansible 小手册系列 六(Patterns 匹配模式)

Patterns 是定义Ansible要管理的主机。但是在playbook中它指的是对应主机应用特定的配置或IT流程。

命令格式

命令行

ansible <host-pattern> [options]

playbook 中

- hosts: <host-pattern>

  

使用示例

ansible \* -m service -a "name=httpd state=restarted"

  

Patterns 使用

匹配所有的主机

all
*     # 命令行中使用 \进行转义以上两个Patterns 均表示匹配所有的主机

精确匹配  

192.168.77.121以上Patterns 表示只匹配192.168.77.121这一个主机

或匹配 

web:db
以上Patterns 表示匹配的主机在web组或db组中

非模式匹配

"web:\!db"
命令下需转义特殊符号,以上Patterns 表示匹配的主机在web组,不在db组中,包含在web组,又在db中的用户

交集匹配

"web:&db"
以上Patterns 表示匹配的主机同时在db组和dbservers组中

通配符匹配

web-*.com:dbserver
webserver[0]
webserver[0:25]
*表示所有字符,[0]表示组第一个成员,[0:25] 表示组第1个到第24个成员,类似python中得切片

正则表达式匹配

~(web|db).*\.example\.com
在开头的地方使用“~”,表示这是一个正则表达式

组合匹配

"webservers:dbservers:&staging:!phoenix"
在webservers 或者dbservers 组中,必须还存在于staging 组中,但是不在phoenix 组中

在ansible-palybook 命令中,你也可以使用变量来组成这样的表达式,但是你必须使用“-e”的选项来指定这个表达式

webservers:!{{excluded}}:&{{required}}

排除条件

只执行-l后的主机
ansible-playbook site.yml -l 192.168.77.129
ansible-playbook site.yml --l  @retry_hosts.txt

原文地址:https://www.cnblogs.com/wanstack/p/8528270.html

时间: 2024-07-29 15:50:39

Ansible 小手册系列 六(Patterns 匹配模式)的相关文章

Ansible 小手册系列 四(详解配置文件)

[[email protected] ansible]# ansible --version ansible 2.2.0.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides 配置文件存在不同的位置,但只有一个可用.在下列列表中,ansible从上往下依次检查,检查到哪个可用就用哪个. ANSIBLE_CFG 环境变量,可以定义配置文件的位置 ansible.c

Ansible 小手册系列 九(Playbook)

playbook是由一个或多个"play"组成的列表.play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色.从根本上来讲所谓task无非是调用ansible的一个module.将多个play组织在一个playbook中即可以让它们联同起来按事先编排的机制同唱一台大戏. 其主要有以下四部分构成: Target section: 定义将要执行 playbook 的远程主机组 Variable section: 定义 playbook 运行时需要使

Ansible 小手册系列 十一(变量)

变量名约束 变量名称应为字母,数字和下划线. 变量应始终以字母开头. 变量名不应与python属性和方法名冲突. 变量使用 通过命令行传递变量(extra vars) ansible-playbook release.yml -e "user=starbuck" 在 inventory 中定义变量(inventory vars) host3 http_port=80 # 定义主机变量 [webservers:vars] # 定义组的变量 ntp_server= ntp.example.

Ansible 小手册系列 十(包含和角色)

一.包含 (include) 使用include模块来包含foo文件 tasks: - include: foo.yml --- foo.yml - name: test foo command: echo foo include 还允许传递变量 - include: wordpress.yml wp_user=timmy - include: wordpress.yml vars: wp_user: timmy ssh_keys: - keys/one.txt - keys/two.txt 动

Ansible 小手册系列 二(安装)

通过yum(CentOS, RHEL)安装 rpm -ivh  http://mirrors.ustc.edu.cn/epel/epel-release-latest-6.noarch.rpm wget --no-check-certificate -O  /etc/yum.repos.d/epel.repo  https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/epel?codeblock=0 yum install ansible 注

【C++自我精讲】基础系列六 PIMPL模式

0 前言 很实用的一种基础模式. 1 PIMPL解释 PIMPL(Private Implementation 或 Pointer to Implementation)是通过一个私有的成员指针,将指针所指向的类的内部实现数据进行隐藏. 2 PIMPL优点 举例: //x.h class X { public: void Fun(); private: int i; //add int i; }; //c.h #include <x.h> class C { public: void Fun()

SpringCloud系列九:SpringCloudConfig 基础配置(SpringCloudConfig 的基本概念、配置 SpringCloudConfig 服务端、抓取配置文件信息、客户端使用 SpringCloudConfig 进行配置、单仓库目录匹配、应用仓库自动选择、仓库匹配模式)

1.概念:SpringCloudConfig 基础配置 2.具体内容 通过名词就可以发现,SpringCloudConfig 核心作用一定就在于进行配置文件的管理上.也就是说为了更好的进行所有微服务的配置项的管理,在 SpringCloud 设计架构里面就考虑到了针对于所有的核心配置文件(application.yml)进行的一项统一管理的工具. 2.1.SpringCloudConfig 的基本概念 现在可以思考一个问题:在一个实际的项目开发过程之中,有可能会出现有上百个微服务(创建微服务的标

#干货#小微信贷风控中类IPC模式和集中审批模式

浅析小微信贷风控中类IPC模式和集中审批模式 席占斌 常言道瑕不掩瑜,反过来讲瑜自然也不能掩瑕,看问题需要客观公正辩证. 在小微信贷中,风控模式依旧是核心,目前比较流行和占比较大的风控模式有很经典的IPC模式和集中审批模式.为什么要说是模式呢?因为不管是IPC还是集中审批,很多的具体操作到各个公司均不相同.本文仅就这两种模式的整体情况做一浅显的分析. 一.两种风控模式完整流程简介 1.完整的类IPC的流程 产品设计--信贷员营销--后台入申请--信贷员进行类IPC尽职调查--门店电话审核--权限

Netty4.x中文教程系列(六) 从头开始Bootstrap

Netty4.x中文教程系列(六) 从头开始Bootstrap 其实自从中文教程系列(五)一直不知道自己到底想些什么.加上忙着工作上出现了一些问题.本来想就这么放弃维护了.没想到有朋友和我说百度搜索推荐了我的文章.瞬间有点小激动啊.决定自己要把这个教程系列完善下去.这里诚挚的想支持我的盆友们道歉.真的是让你们失望了.我居然有想放弃的这种丧心病狂的念头.以后绝对不会了. 其实伴随着对Netty的逐步深入学习.感觉自己对netty的了解仍然有所欠缺.加上笔者语文课是美术老师教的.所以..说多了都是泪