Playbook中变量使用


 变量名:仅能由字母、数字和下划线组成,且只能以字母开头
 变量来源:

  1.   ansible setup facts 远程主机的所有变量都可直接调用
  2.   在/etc/ansible/hosts中定义

利用setup模块,简单调用几个变量

主机名变量:ansible_fqdn
cpu变量:ansible_processor_vcpus
版本号变量:ansible_distribution_major_version

示例:编写playbook实现目标主机生成   主机名.log   的空文件

#vim vars.yml                 
---
- hosts: websrvs
  remote_user: root

  tasks:
    - name: create log file
      file: name=/data/{{ ansible_fqdn }}.log state=touch

ansible(四) playbook中变量使用

 使用-e 进行自定义变量

ansible-playbook –e varname=value
-e自定义变量的优先级高于setup调用的变量
一次性对多个变量赋值:ansible-playbook -e 'ansible_fqdn="testfile" pname=samba'  vars.yml

对主机清单中的变量

ansible(四) playbook中变量使用

---
- hosts: websrvs
  remote_user: root

  tasks:
    - name: create log file
      file: name=/data/{{ http_port }}.log state=touch
    - name: install package
      yum: name={{pname}}

#ansible-playbook -e pname=samba  vars.yml
对目标主机安装samba,并分别生成对应http_port.log为文件名的空文件

设置主机清单中的通用变量

ansible(四) playbook中变量使用

 该设置为websrvs主机清单设置通用变量mark

在playbook中设置变量

ansible(四) playbook中变量使用

还可将所有变量存放在一个专门的yml文件中。

【优先级次序:-e > playbook  >  yml  >  host】

 

相关文章:

  • 2022-01-22
  • 2022-02-24
  • 2021-06-23
  • 2021-12-20
  • 2021-09-17
  • 2021-11-13
  • 2021-07-14
  • 2021-05-25
猜你喜欢
  • 2022-12-23
  • 2021-09-09
  • 2021-08-17
  • 2021-07-29
  • 2021-09-09
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案