自动化运维工具 ANSIBLE(四)

setup模块中定义的变量

  1. ansible_distribution_major_version
  2. ansible_all_ipv4_addresses
  3. ansible_nodename
  4. ansible_processor_vcpus
  5. ansible_memtotal_mb
  6. ansible_os_family

主机清单中定义的变量

[mariadbsrvs]
192.168.209.49 hostname=node3
192.168.209.59 hostname=node4

[websrvs]
192.168.209.29 hostname=node1
192.168.209.39 hostname=node2

[websrvs:vars]
suf=txt

ansible-playbook命令中定义变量

ansible-playbook -e hostname=xuepeng -e suf=com vars3.yml

在yml文件中定义变量

---
- hosts: websrvs
  remote_user: root
  vars:                 //在yml文件中定义变量
   - hostname: testdir
   - suf: pdf

  tasks:
   - name: create file
     file: name=/data/{{hostname}}.{{suf}} state=touch

作为一个独立的变量yml文件

vim vars.yml
hostname: pengpeng
suf: yml

// 调用 vars.yml中的变量
---
- hosts: websrvs
  remote_user: root
  vars_files: vars.yml

  tasks:
   - name: create file
     file: name=/data/{{hostname}}.{{suf}} state=touch

在角色yml文件中定义变量

- hosts: mariadbsrvs
  remote_user: root

  roles:
   - { role: mariadb, when: ansible_distribution_major_version == "6" }

在模板配置文件中引用变量

/roles/nginx/templates/nginx.conf.j2 
user {{nginx_user}};
发布了18 篇原创文章 · 获赞 0 · 访问量 865

猜你喜欢

转载自blog.csdn.net/studywinwin/article/details/104066377
今日推荐