一,ansible roles 的简介
为了更好的实现企业中的自动化运维,引用了ansible roles
就是将一个很长的配置文件分开来写,便于更好的管理
Ansible roles是为了层次化、结构化地组织Playbook
roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便捷地include它们
roles一般用于基于主机构建服务的场景中,在企业复杂业务场景中应用的频率很高
以特定的层级目录结构进行组织的tasks、variables、handlers、templates、files等
相当于函数的调用把各个功能切割成片段来执行
二,roles的目录
最主要的就是tasks任务,handles触发器,temples模板
三,利用ansible-galaxy命令创建角色
在企业中,最好不要使用超级用户,所以新建一个用户比较好。
这里我们使用的是普通用户devops来做ansible,因此应该是roles_path = /home/devops/ansible/roles
创建apache角色
步骤一:
先在ansible目录下创建roles目录 然后编辑ansible.cfg配置文件,在配置文件中声明
步骤二:
进入角色目录,创建apache角色
步骤三:编写任务yml文件
进入apache角色目录,发现有任务目录、触发器目录、模板目录、变量目录 删除测试目录和说明文档,这两个暂时没有用
修改一下路径
步骤四:编写触发yml器文件
步骤五:编写模板yml文件
步骤六:编写变量yml文件
步骤七:查看主机文件,确保主机信息正确
步骤八:编写最终要执行的文件
测试:
执行成功,已经实现了角色分离
创建haproxy角色
编写任务yml文件
编写触发器yml文件
编写模板yml文件
编写最终要执行的apache文件,因为haproxy和httpd是结合在一起的,要实现负载均衡
编写主机文件
测试:执行成功
创建keepalived角色
得在主机和备机都安装keepalived
编写任务文件
编写触发器文件
编写模板文件
编写主机文件
编写执行文件
测试:执行成功
高可用的测试方法就是实现vip的漂移,当主机坏掉,vip会自动漂移到备机上
现在vip在主机server1上,负载均衡可以实现
关掉server1的keepalived服务,vip不见
出现在了server4上
负载均衡没受到影响