ansible 自动化构建系统负载均衡高可用架构项目流程详解

1.ansible roles简介(用的ansible2.9版本)

Ansible roles是为了层次化、结构化地组织Playbook
roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便捷地include它们
roles一般用于基于主机构建服务的场景中,在企业复杂业务场景中应用的频率很高
以特定的层级目录结构进行组织的tasks、variables、handlers、templates、files等
相当于函数的调用把各个功能切割成片段来执行

2.roles目录结构

role_name 定义的role名字
files 存放copy或script等模块调用的函数
tasks 定义各种task,要有main.yml,其他文件include包含调用
handlers 定义各种handlers,要有main.yml,其他文件include包含调用
vars 定义variables,要有main.yml,其他文件include包含调用
templates 存储由template模块调用的模板文本
meta 定义当前角色的特殊设定及其依赖关系,要有main.yml的文件
defaults 要有main.yml的文件,用于设定默认变量

3.ansible-galaxy命令工具

Ansible Galaxy 是一个免费共享和下载 Ansible 角色的网站,可以帮助我们更好的定义和学习roles
ansible-galaxy命令默认与https://galaxy.ansible.com网站API通信,可以查找、下载各种社区开发的 Ansible 角色
ansible-galaxy在 Ansible 1.4.2 就已经被包含了
在ansible galaxy网站查询roles

安装的roles默认是存放在家目录中:/root/.ansible/roles
对于的roles的快速部署,很有帮助

4.创建第一个roles(apache)

目的:server1给server2和server3安装httpd服务

(1)role存放的路径在配置文件/etc/ansible/ansible.cfg中定义:roles_path = /etc/ansible/roles

这里我们使用的是普通用户devops来做ansible,因此应该是roles_path = /home/yty/ansible/roles
先在ansible目录下创建roles目录
然后编辑ansible.cfg配置文件,在配置文件中声明
在这里插入图片描述
(2)列出已安装的角色,注意路径问题
此时还没有创建角色,因此是空的
在这里插入图片描述
(3)进入角色目录,创建apache角色,再次查看角色就有了
在这里插入图片描述
(4)进入apache角色目录,发现有任务目录、触发器目录、模板目录、变量目录等等

删除测试目录和说明文档,这两个暂时没有用
在这里插入图片描述
(5)编写任务的yml文件
在这里插入图片描述
在这里插入图片描述
编写模板文件,拷贝一个过来即可,不需要修改
在这里插入图片描述
编写触发器的yml文件
在这里插入图片描述
在这里插入图片描述
编写变量的yml文件
在这里插入图片描述
编辑默认发布页面
在这里插入图片描述
编写最终要执行的文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开始执行,没有报错,说明角色分离成功
在这里插入图片描述
在这里插入图片描述

这就实现了apache的角色分离
也就是playbook.yml文件拆分

5.创建第二个roles(haproxy)
目的:在server1上安装haproxy服务,实现server2和server3的负载均衡

(1)创建haproxy角色,以及删除没有用的文件和目录
在这里插入图片描述
(2)编写任务文件
在这里插入图片描述
在这里插入图片描述
(3)编写触发器文件
在这里插入图片描述
在这里插入图片描述
(4)编写模板文件,其实也就是把palybook的拷贝一份
在这里插入图片描述
(5)不需要编写变量文件
(6)编写最终要执行的apache文件,因为haproxy和httpd是结合在一起的,要实现负载均衡
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
没有报错,说明成功实现了访问server1负载均衡server2和server3
在这里插入图片描述
创建第三个roles(keepalived)
目的:在server2和server3上安装httpd,在server1和server4上安装haproxy,在server1上安装keepalived,实现高可用
也就是server1和server4两个调度器之间的高可用
(1)创建角色,删除文件
在这里插入图片描述
(2)编写任务文件
在这里插入图片描述
(3)编写触发器文件
在这里插入图片描述
(4)编写模板文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5)编写主机文件
在这里插入图片描述
(6)编写最终要执行的文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(7)执行
在这里插入图片描述
在这里插入图片描述

(8)测试:看是否实现了高可用

可以看到server1上具有VIP
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在server1上停止keepalived服务,发现VIP自动漂移到了server4上面
在这里插入图片描述
仍可以访问
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值