系统批量运维管理器Fabric之部署LNMP业务环境
一、简介
业务上线之前最关键的一项任务便是环境部署,往往一个业务涉及多种应用环境,比如Web、DB、PROXY、CACHE等,本示例通过env.roledefs定义不同主机角色,在使用”@roles(webservers)”修饰符绑定到对应的任务函数,实现不同角色主机的部署差异。
二、业务环境
四台主机,两台WEB服务器,一台数据库服务器,一台执行部署脚本的服务器。IP地址可以根据自己的实际情况作出规划。
角色 |
IP地址 |
cilent |
192.168.80.100/24 |
dbservers |
192.168.80.230/24 |
webservers1 |
192.168.80.240/24 |
webservers2 |
192.168.80.250/24 |
三、实现步骤
0、修改主机基本信息(包括主机名、IP地址等)
1、设置代理服务器(如果你可以上外网的话请忽略此步)
vi /etc/yum.conf
proxy=http://IP地址:端口号
2、在client中编写以下内容
【/home/tools/fabric3/auto_lnmp.py】
3、运行脚本实现自动部署
fab –f auto_lnmp.py publictask webtask dbservers
注意:
1、阿里巴巴开源镜像站:https://opsx.alibaba.com/mirror
2、如果你的笔记本配置很低的话,你使用两台机器进行实验也可以。
四、总结
本示例通过角色来区别不同业务服务环境,分别部署到不同的程序包。我们只需要一个Python脚本就可以完成不同业务环境定制。