13.Ansible.roles案例

13.Ansible.roles案例

      • 基础环境准备
      • 应用服务准备
      • 业务引入
      • 配置负载均衡,再接入https

13.Ansible.roles案例_第1张图片

基础环境准备

定义变量,在文件中写好,后期将要调用的变量
mkdir /roles/vars/
touch /roles/vars/all

13.Ansible.roles案例_第2张图片

准备目录结构
mkdir base/{tasks,handlers,templates} -p

准备搭建基础环境时要执行的任务yml文件
vim base/tasks/main.yml

编写playbook调用roles
vim site.yml
13.Ansible.roles案例_第3张图片



应用服务准备

准备安装、配置、启动nginx,所执行的任务

vim nginx/tasks/main.yml
13.Ansible.roles案例_第4张图片

编写playbook调用roles

vim site.yml
13.Ansible.roles案例_第5张图片

执行playbook

ansible-playbook site.yml


安装配置启动php

创建目录结构
mkdir php-fpm/{tasks,handlers,templates} -p

先获取需要安装的PHP 的包名称

编写需要执行的tasks任务
vim php-fpm/tasks/main.yml
13.Ansible.roles案例_第6张图片
13.Ansible.roles案例_第7张图片

编写notify要调用的handlers文件
vim php-fpm/handlers/main.yml

13.Ansible.roles案例_第8张图片

准备模版文件
在这里插入图片描述
修改php.ini.j2配置文件
调用之前定义的redis的变量
13.Ansible.roles案例_第9张图片

过滤出www.conf.j2有效的配置文件
egrep -v "^;|^$" www.conf.j2

修改www.conf.j2配置文件,调用之前定义的变量


编写playbook调用roles
vim site.yml

13.Ansible.roles案例_第10张图片

执行playbook

ansible-playbook site.yml


安装配置启动redis

创建目录结构
mkdir redis/{tasks,handlers,templates} -p

编写需要执行的任务
vim redis/tasks/main.yml

13.Ansible.roles案例_第11张图片

编写notify要调用的handlers文件

vim redis/handlers/main.yml

13.Ansible.roles案例_第12张图片

准备redis配置文件,前提是有装好的redis可以提供配置文件
在这里插入图片描述

修改配置文件,redis在哪台机器上,就写哪台机器的IP,这里调用被控端本地的变量,IP地址

13.Ansible.roles案例_第13张图片
编写playbook调用roles

13.Ansible.roles案例_第14张图片

执行playbook
在这里插入图片描述


业务引入

创建目录结构
在这里插入图片描述

先配置依赖关系,业务运行,需要nginx与php,所以得让他俩先运行起来,再来执行业务角色本身
13.Ansible.roles案例_第15张图片

因为有了依赖关系,所以playbook直接调用kodcloud-web这个角色就行,他会把nginx和php先运行起来

13.Ansible.roles案例_第16张图片

编写部署业务,要执行的任务

unarchive 是解压模块,会自动将代码的压缩包解压到目标路径下

13.Ansible.roles案例_第17张图片

准备nginx配置文件,模版文件
13.Ansible.roles案例_第18张图片

准备代码

将下载好的代码压缩包上传到ansible服务器

因为有了依赖关系,所以playbook直接调用kodcloud-web这个角色就行,他会把nginx和php先运行起来
13.Ansible.roles案例_第19张图片

执行playbook
在这里插入图片描述

调用kodcloud-web这个角色,执行会按照我们设定的步骤,先把基础服务运行起来,再起kodcloud

此时两个业务节点就都可以运行起来了

配置文件中调用之前定义的变量


配置负载均衡,再接入https

创建目录结构
在这里插入图片描述

编写依赖文件

proxy依赖nginx,所以这里编写依赖的yml文件,加入nginx角色

13.Ansible.roles案例_第20张图片

编写要在被控端执行的任务

记得在控制端将SSL证书放到ssl_key目录下
13.Ansible.roles案例_第21张图片

编写notify需要调用的handlers

13.Ansible.roles案例_第22张图片

准备nginx虚拟机的配置文件

配置负载均衡

完事记得做域名解析

编写playbook调用proxy角色

13.Ansible.roles案例_第23张图片

执行playbook

在这里插入图片描述

到此结束

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