ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量

1. 定义的变量的值从外部获取

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第1张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第2张图片

2. 一次从命令行获取一个值

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第3张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第4张图片

3. 当playbook中定义了变量,但是不传值时会使用默认定义值

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第5张图片
ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第6张图片

4. 命令行传入变量

在这里插入图片描述

5. 命令行传入变量文件

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第7张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第8张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第9张图片

6. 在文件中的tasks中定义变量

用set_fact 参数

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第10张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第11张图片

7. 用set_fact将一个变量的值赋给另外一个变量

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第12张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第13张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第14张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第15张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第16张图片

8. set_fact中定义的值就是全局变量

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第17张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第18张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第19张图片

9. shell模块+注册变量实现某变量的全局化

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第20张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第21张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第22张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第23张图片

10. ansible中的内置变量

1、Ansible内置了一些变量以方便主机之间相互调用各自的变量。这些变量包括:

* hostvars允许你访问另一个主机的变量,当然前提是ansible已经收集到这个主机的变量了:

group_names:是当前主机所在的group列表

groups:是所有inventory的group列表

inventory_hostname:是在inventory里定义的主机名(ip或主机名称)

play_hosts是当前的playbook范围内的主机列表

inventory_dir和inventory_file是定义inventory的目录和文件

查看ansible的版本信息

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第24张图片

获取当前操作的目的主机的名称
ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第25张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第26张图片

获取短名称

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第27张图片

获取清单中的组和信息
ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第28张图片ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第29张图片在这里插入图片描述

查看某个小分组的信息

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第30张图片
查看某个主机属于哪些组

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第31张图片

获取ansible主机清单的存放路径

ansible-playbook之变量外部传值、内置变量以及tasks内部定义变量_第32张图片

你可能感兴趣的:(linux企业实战)