playbook-拓展

一。Handles

      1. Handlers 在发生改变时执行的操作

      2. handlers也是一些task的列表,通过名字来引用,它们和一般的task并没有什么区别。

      3. handlers是由notify调用的,如果没有被notify,handlers不会执行,等到play中的所有task执行完成之后

         也不会被执行一次

     4. Handlers最佳的应用场景是用来重启服务,或者触发系统重启操作,除此以外很少用到了

二。环境变量:

     1. 为远程主机上的用户指定环境变量

     2. 预定义环境变量

        对于某一个play而言,我们可以使用environment选项来为其设置单独的环境变量

        var:

           var_proxy:

           http_proxy: http://xxxx.com

           https_proxy: http://xxx.com

       task:

       - name: use proxy

          get_url: url=http://www.example.com/file.tar.gz dest=~/download/

          environment: var_proxy

三。 变量:

      1. 变量赋值的两种形式:

         1.1 Inventory的方式: =

         1.2 playbook的方式: k/v hash模式,eg: xxx:xx

     2. 定义的途径:

         2.1 外部加载模式: --extra-vars

              2.1.1  ansible-playbook example.yml --extra-vars 'foo=bar'

              2.1.2 ansible-playbook example.yml --extra-vars '@even_more_vars.yml'

                     此处even_more_vars是存放变量的一个文件

        2.2 playbook方式:

            2.2.1 内部调用

           

           2.2.2 文件调用

           

     3. 在Inventory里定义变量

         。。。。

     4. 注册变量

         把操作的结果(标准输入或输出)保存到某个变量里的过程,由register模块实现。

         command: forover list

         register: forover_list

         把command命令的结果存在 forover_list变量里

     5. 高阶变量

         5.1 列表变量

              foo:

                - one

                - two

                - three

             调用方式:foo[0],foo[1],foo[2]

         5.2 ..

 

 

  

posted on 2017-11-23 15:56  晓风残梦  阅读(147)  评论(0编辑  收藏  举报

导航