playbook核心元素之 --> variables 介绍



Variables:基本用法

类型:
    内建:(1) facts
    自定义:
        (1) 命令行传递;
            -e VAR=VALUE
        (2) 在hosts Inventory中为每个主机定义专用变量值;
            (a) 向不同的主机传递不同的变量;
                IP/HOSTNAME variable_name=value
            (b) 向组内的所有主机传递相同的变量 ;
                [groupname:vars]
                variable_name=value
        (3) 在playbook中定义
            vars:
              - var_name: value
              - var_name: value
       (4) Inventory还可以使用参数:
            用于定义ansible远程连接目标主机时使用的属性,而非传递给playbook的变量;
                ansible_ssh_host
                ansible_ssh_port
                ansible_ssh_user
                ansible_ssh_pass
                ansible_sudo_pass
                ...
        (5) 在角色调用时传递
            roles:
               - { role: ROLE_NAME, var: value, ...}


变量调用:
    {{ var_name }}



实例示范


[root@ansible ~]# vim test3.yaml
- hosts: centos6
  remote_user: root
  vars:                
   - first: hello
  tasks:
   - name: first test
     shell: echo {{ first }} > /tmp/first.test
   - name: second test
     shell: echo {{ second }} > /tmp/second.test
   - name: facts
     shell: echo {{ ansible_product_serial }} > /tmp/third.test


wKioL1g-RUXy6Cu3AABat5KQF6M874.png-wh_50


wKioL1g-RWWwCyFpAAAiU-HqhSs678.png


wKiom1g-RcCwHAmjAAApMg4_Y7c388.png-wh_50