Ansible一键部署实例(一)
我们今天要用Ansible实现一键部署的框架大致如下:
南汐在这里对本次框架做一个简单的介绍,这是一个非常基础的架构,虽然可能不如实际应用中的复杂,但是麻雀虽小,亦五脏俱全。从用户角度来看,当我们的用户访问我们公司的网站时,一般情况下会经由DNS智能调度系统给用户返回距离用户地域距离最近的服务器地址,这就是我们的CDN服务器,它会默认存储我们web服务上基本所有的静态资源(或动态内容、流媒体文件)以提高用户的访问体验,如果CDN上没有用户所请求的资源,此时会出现回源。当我们的用户直接访问源站的时候,会经由我们前端的网络防火墙过滤非法流量,然会到达我们的负载,本次架构中我们使用两台服务器应用NGINX作为负载均衡,并在两台服务器之间通过keepalived实现高可用。请求经由负载均衡的调度算法后转发至我们真实的web服务器,这里web服务器在实际中基本都是多节点的,我们称之集群,南汐这里使用三台服务器来进行模拟。web端的静态文件由后端的两台NFS服务器存储,他们之间的数据实时同步的,并且具备高可用,以避免单点故障,同时前端所产生的业务数据数据库文件都会存放在后端的数据库。最后与业务直接相关的服务器(本此架构中有8台)均会定时将重要文件备份至backup服务器。从运维管理人员的角度来看,我们会经由VPN进入公司的jumpserver服务器(直接越过用户路径的防火墙进入内部),底层通过Ansible自动化管理工具来对公司的服务器进行管理,监控和维护。为了提高脚本安装服务的执行效率,我们额外搭建了一个本地仓库为提供内部局域网安装服务使用。
(南汐并没有实现架构内的所有功能,本次展示只为帮助大家提高对Ansible自动化管理工具的应用)详细Playbook角色分布如下:
接下来南汐会用几篇文章依次开放源码展示,大家仅供参考,可自行实践练习……