zoukankan      html  css  js  c++  java
  • ansible-play变量的基本应用

    ---
    - host: appsrvs
      remote_user: root
    
     tasks:
       - name: install package
         yum: name={{ pkname }}
       - name: start service
         service: name={{ pkname }} state=started enabled=yes

    在执行命令时定义变量:ansible-playbook -e 'pkname=vsftpd' app.yml  

    - host: appsrvs
      remote_user: root
      vars:
       - pkname1: httpd
       - pkname2: vsftp
     tasks:
       - name: install package
         yum: name={{ pkname1 }}
       - name: install package
         yum: name={{ pkname2 }}

    直接在剧本中定义变量:ansible-playbook app.yml  

    ########################################################################

    主机清单
    [websrvs]
    192.168.30.101 http_port=81
    192.168.30.102 http_port=82

    [websrvs:vars]
    nodename=www
    domainname=com

    - host: appsrvs
      remote_user: root
    
      tasks:
       - name: set hostname
        hostname: name={{ nodename }}.{{ http_port }}.{{ domainname }}

    在主机清单中设置变量,在yml中直接调用通用变量及定制变量,关于定义变量的优先级:命令定义>定制定义>通用/公共定义

    #########################################################################

    为了更方便起见,可以直接建立新的专门定义变量的文件

    定义变量文件及变量:
    新建定义变量的文件vars.yml,在文件中添加以下两个变量:
    var1: httpd
    var2: vsftpd

    ---
     - hosts: websrvs
       remote_user: root
       vars_files:
        - vars.yml      #变量文件名称
        
       tasks:
        - name: install package
          yum: name={{ var1 }}               #var1已经在变量文件中定义好
          
        - name: create file
          file: name=/data/{{ var2 }}.log state=touch    #var2也已经在变量文件中定义好
  • 相关阅读:
    D3.js:交互式操作
    D3.js:Update、Enter、Exit
    D3.js:动态效果
    D3.js:完整的柱形图
    D3.js:坐标轴
    D3.js
    ES 6 : 数组的扩展
    ES 6 : Math对象的扩展
    拉勾网企业图片列表效果
    拉勾网图片切换效果
  • 原文地址:https://www.cnblogs.com/shykoo/p/10557295.html
Copyright © 2011-2022 走看看