ansible----管理变量

ansible变量简介

Ansible支持利用变量来存储值,并在Ansible项目的所有文件中重复使用这些值;这可以简化项目的创建和维护,并减少错误的数量
通过变量,管理员可以轻松地Ansible项目中管理给定环境的动态值;变量可能包含下面这些值

要创建的用户
要安装的软件包

要重启的服务

要删除的文件
要从互联网检素的存档

命名变量:

变量的名称必须以字母开头,并且只能含有字母、数字和下划线
 

定义变量:

全局范围、play范围、主机范围

如果在多个级别上定义了相同名称的变量,则采用优先级别最高的变量;窄范围优先于更广泛的范围:
由清单定义的变量将被playbook定义的变量覆盖,后者将被命令行中定义的变量覆盖


从命令行覆盖变量(额外变量):

清单变量可被playbook中设置的变量覆盖,playbook中设置的变量又可被额外变量给覆盖因此,当需要覆盖―次性运行的 playbook的已定义的变量值时,额外变量非常有用
ansible-playbook main.yml -e "package=apache"


使用数组作为变量:

除了将与同—元素相关的配置数据(软件包列表、服务列表和用户列表等)分配到多个变量外管理员也可以使用数组;这种做法的一个好处在于数组是可以浏览的。

运行环境:RH294

步骤一:以student用户身份并使用student作为密码登录workstation

170e4a4578814094b7b707f7b2e36b38.png

 [kiosk@foundation0 ~]$ ssh student@workstation

步骤二:在workstation上,运行lab data-variables start命令,此命令会创建data-variables工作目录并为它填充Ansible配置文件和主机清单

ansible----管理变量_第1张图片

 [ student@workstation ~]$ lab data-variables start

步骤三:查看 /home/student/data-variables/目录下的文件
ansible----管理变量_第2张图片

 [ student@workstation ~]$ cd /home/student/
[student@workstation ~]$ cd /home/student/data-variables/

[ student@workstation data-variables]$ ls
[student@workstation data-variables]s cat ansible.cfg

[student@workstation data-variables]s cat inventory

步骤四:编辑playbook.yml文件

ansible----管理变量_第3张图片

 

c348479114bc4647b936891eacc37b43.png

 [student@workstation data-variables]$ vim playbook.yml

ansible----管理变量_第4张图片

 步骤五:验证playbook.yml文件内的语法是否正确a77ef80dbb1748d9b65b1b65e606a9f9.png

[student@workstation data-variables]$ ansible-playbook --syntax-check playbook.yml

步骤六:模拟运行

ansible----管理变量_第5张图片

ansible----管理变量_第6张图片

 [student@workstation data-variables]$ ansible-playbppk -Cv playbook.yml

 

补充错误示例:

示例一:

ansible----管理变量_第7张图片

大致意思就是说,我在第21行第6列出现了错误,行数没对齐,看了一下,确实是没有和上列对齐

示例二:

ansible----管理变量_第8张图片

 大致意思是在说,出现了重复的name,我进行了‘’name:‘’名称修改,作用不大,好吧,是没起作用,然后最后发现是这样的

ansible----管理变量_第9张图片

 我之前没有空格。。。

示例三:

ansible----管理变量_第10张图片

 大致意思就是说,出现了一个未定义的变量firewalld_service,然后我发现

ansible----管理变量_第11张图片

 我把firewall_service写成了firewalld_service以上就是我在实验时遇到的错误,欢迎补充哦~

 

 

你可能感兴趣的:(ansible,ansible)