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也已经在变量文件中定义好
  • 相关阅读:
    文件的初级功能
    Scanner的用法
    界面制作小例
    初学Java感想
    el-table合计栏未显示的问题
    推荐一些团队博客和个人博客地址
    大数加法
    汇编语言画圆
    Java一个简单的文件工具集
    css选择器
  • 原文地址:https://www.cnblogs.com/shykoo/p/10557295.html
Copyright © 2011-2022 走看看