随笔-ansible-5

1、Includes的使用场景

 

 

A项目要用重启PHP

B项目要用重启PHP

C项目要用重启PHP

可以将重启PHP这个task独立成一个playbook文件,供他人引用即可。

首先编写重启PHP的文件:restartphpprocess.yml

 

 

此时这段代码就成为公共的了,谁都能用了。

在其他playbook文件中引用上面的restartphpprocess.yml文件:

 

2、Includes的使用方法

 

红框中的冗余了,需要摘出来。

 

 

 

 

这就是include的使用场景。上面的例子中,我们是在tasks关键字下面使用了include。同样,还可以在handlers关键字下面使用include。

只要记住,引用的必须是任务列表。

同样,还可以引用另一个整体的yml文件,而不仅仅是任务列表。

 

当extra-tasks.yml存在时,再去引入这个文件。通过when来判断。这也称为动态include。

include是ansible中比较重要的一个功能。

 

 

AD-HOC适用于临时命令的执行,Playbook合适中小项目,而大项目一定使用Roles。

使用roles安装lamp架构:

1、首先定义三个角色,分别为:httpd,mysql,php。

2、然后在每个角色目录下创建必要的目录结构。

mkdir /etc/ansible/roles/httpd/{files,templates,tasks,handlers,vars,defaults,meta} -p
mkdir /etc/ansible/roles/mysql/{files,templates,tasks,handlers,vars,defaults,meta} -p
mkdir /etc/ansible/roles/php/{files,templates,tasks,handlers,vars,defaults,meta} -p

touch /etc/ansible/roles/httpd/{defaults,vars,tasks,meta,handlers}/main.yml
touch /etc/ansible/roles/mysql/{defaults,vars,tasks,meta,handlers}/main.yml
touch /etc/ansible/roles/php/{defaults,vars,tasks,meta,handlers}/main.yml

 

 

 

 

3、编写httpd模块。

 

 

 

 

4、编写mysql模块。

 

 

5、编写php模块。

 

 

6、生成httpd的配置文件模板

 

模板文件为httpd.conf.j2,在模板中定义了三个变量,这些变量的值要从inventory文件中获取。

 

 

http://192.168.40.253/index.php即可得到主页面。

posted @ 2019-09-04 19:11  道霖  阅读(153)  评论(0编辑  收藏  举报