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
    
  • 相关阅读:
    ASCII、GBK、Unicode、UTF-8、ISO-8859-1等常见字符编码介绍
    HTTP协议简介
    关于无知的一点思考
    Java 8 新特性之lambda表达式
    Java 8 新特性之新的日期时间库
    【java】<Jsoup>获取网页中的图片
    【数据结构】二叉树
    【转载】Android中UI线程与后台线程交互设计的5种方法
    【数据结构】广义表
    【c语言】数据结构(约瑟夫生者死者游戏的问题)
  • 原文地址:https://www.cnblogs.com/wanstack/p/8528270.html
Copyright © 2011-2022 走看看