Ansible:Playbook

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

在最开始,我们从 Github 上面克隆到本地的一个仓库,就是事先写好的一套 Ansible 的 Playbook。下面我们再花点时间理解一下这套脚本都做了什么。

在 playbooks 目录的下面,有两个定义好的 Playbook,local.yml 还有 dev.yml,它们的作用就是去配置我们要用到的两台虚拟机,local 还有 dev ,yml 是一种非常友好的表达数据的格式,Ansible 的 Playbook 就用到了这种格式。

先打开 local.yml 看一下 ... yaml 这种格式就是用一种名值对的形式来表达数据,一个数据的名字,加上数据的具体的值,比如这里的 name: NINGHAO PLAYBOOK ,表示的就是这个 Playbook 的名字叫 NINGHAO PLAYBOOK ...

Ansible 定义了一些模块,这些模块可以在系统上去做不同的事情,比如这个 sudo,它的值是 ture,意思就是,所有要执行的任务要使用 sudo 命令。

vars 下面定义了一些变量,我们会在任务里用到这些变量 ... 比如这里这个 Repo ,它下面有个 epel ,这样如果用 Repo.epel ,就会得到 epel-release-7-5.noarch.rpm 这个值 ...

同样,下面的 App.user ,它的值就是 vagrant ..

我们也可以把变量分割成不同的文件,这样就可以使用 vars_files 去指定一下这些文件的位置 ... 在这些文件里,可以分别去定义一些变量,一会我们需要去配置一下这些变量 ..

下面的 roles ,有点像把要执行的任务分分类 ... roles 的中文可以翻译成角色,不同类型的任务,可以单独放到一个文件里面,比如这个 role:init ,会去加载 roles 目录下面的 init 这个目录里面定义的任务 ... 在这个目录下面有个 tasks 目录,在它的下面就是一个任务文件 .. main.yml 表示主任务 ...

这里我给不同的角色都打上了标签,这样我们可以在用 Ansible 配置的时候,可以单独去执行属于某个标签的任务角色 ...

再往下,你会看到 handlers ,可以翻译成处理器,在执行完任务以后,如果你还想做点额外的事,可以把这些要做的事情定义成 handler ,比如,你定义一个任务,修改了 nginx 的配置文件,想让这个配置生效,你需要重新加载或者重新启动 nginx ,这样,你就可以把这个重启的动作定义成一个 handler ... 要执行完任务以后,可以通知 Ansible 去执行一下任务指定的 handler 。

在这个 Playbook 里,我定义了几个 Handler ,重启 nginx ,重启 php-fpm ,还有更新 Drupal 的翻译。

Ansible:Playbook《 使用 Ansible 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点