百战RHCE(第五十二战:运维工程师必会技-Ansible学习7-Ansible变量)

发布于:2022-12-18 ⋅ 阅读:(408) ⋅ 点赞:(0)

哈喽哈喽哈喽,大家好啊,很高兴大家能看到这篇文章!

首先,本人目前是计算机专业的大一学生,基于对Linux操作系统的爱好,参与了RHCE的培训班,而我这次编写的 《百战RHCE》文章,是基于我自己的学习经验浓缩而来的,保证简洁,方便理解!

而作为一名大学生,我想通过坚持的高水平文章编写带给我自己本身经验的不断进步,同时也希望让更多的Linux新手能接触到更加系统的文章学习。本次《百战RHCE》,会由浅入深,从最基本的命令行,到编写非常复杂的Ansible 自动化脚本 

因为本人和你一样也是学习者,所以文章中出现的错误,还望多多指出。

还有注意了哦,我所用的系统为Centos7,如果你还没下载的话,可以在到我的第一章节,那里有下载教材和镜像地址哦~

最后最后我在说最后一句话,引用下我们老师的话:“不要尝试背下所有指令,多记笔记!多敲命令!”

本章节我们将要讲解ansible变量的格式


首先Ansible变量的格式:

必须以字母开头,并且只能含有字母,数字和下划线

然后就是变量的优先级。我们一共可以在三个地方来定义我们的变量。

1.全局变量:命令行定义或Ansible配置文件设置变量(优先级最高)

2.play范围:play当中设置或在当前目录中的 group_vars和host_vars当中定义的变量(优先级中等)

3.主机范围:由清单,事实收集或注册的任务,和在主机组和个别上设置的变量(优先级最低)

(这里暂时看不懂没事,我们后面都会讲解到的)

关于变量的设置我们主要就三个点来讲,这三个变量设置点也是我们使用最多的地方

1.playbook 当中定义变量以及引用文件当中的变量

这里我们首先看第一个红色括号,我们直接使用 vars: 在当前的playbook当中定义了一个变量 user: httpd,变量user存储了httpd,最后看到第二个红色括号,可以发现我使用了 "{{  user }}" 来引用了变量名(请记住 “{{ 变量名 }}”是固定格式),而看到绿色括号 vars_files: 在当前的playbook 当中应用了一个变量文件 vars/user.yml 。我们看到第三个绿色括号看到变量文件的内容,定义了变量 state:started 将变量state存储了started,最后在第二绿色括号处引用了我们的变量

最后也成功执行了

2.定义主机和主机的组的变量

定义主机的变量 在当前目录的 hosts_vars定义一个同名主机的文件

定义主机组的变量 在当前目录的 group_vars 定义一个同名主机组的文件

(注意,hosts_vars,group_vars目录都必须自己创建)

这里在次提醒我红色括号的两个目录都必须要自己创建。

我们看到playbook当中的第一个play任务争对的是主机组 group的,这里我们引用了两个变量,这两个变量我们都有在 group_vars/group 文件当中有定义

同样的蓝色括号和绿色括号一样,只不过第二个play争对的是centos1主机组

3.命令行设置变量

格式: ansible-playbook playbook名字 -e "设置变量"

这里我们在 service.yml 当中有引用两个变量,而这两个变量是我们在使用命令行的时候才定义的。


好了好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,今天的学习内容很多也很难需要多看很多遍才能学会,如果有啥不会的朋友记得论坛里面提问哈~

如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈


网站公告

今日签到

点亮在社区的每一天
去签到