zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    一致性哈希算法 CARP 原理解析, 附 Golang 实现
    springSecurity自定义认证配置
    jeecms常用的标签
    AngularJs分层结构小demo
    springSecurity入门小demo--配置文件xml的方式
    angularJs实现下拉框多选
    angularJs实现动态增加输入框
    js判断当前页面是顶级窗口
    angularJs的继承
    在angularJs实现批量删除
  • 原文地址:https://www.cnblogs.com/wanstack/p/8528270.html
Copyright © 2011-2022 走看看