Linux之Ansible部署keepalive+http+haproxy高可用集群及ansible自动化创建用户和磁盘分区

一、Ansible roles

1. Ansible roles的介绍

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

2. Ansible roles中各部分的介绍

  • files:存放copy或script等模块调用的函数
  • tasks:定义各种任务task,需要执行的动作
  • handlers:定义各种触发器handlers
  • vars:定义变量variables
  • templates:存储由template模块调用的模板文本,一般放置配置文件当作一个服务的>模板
  • meta:定义当前角色的特殊设定及其依赖关系,要有main.yml的文件
  • defaults:用于设定默认变量

3. ansible-galsxy命令

Ansible Galaxy 是一个免费共享和下载 Ansible 角色的网站,可以帮助我们更好的定义和学习roles。ansible-galaxy在 Ansible 1.4.2 就已经被包含了。

二、Ansible搭建高可用和负载均衡集群(keepalive+http+haproxy)

1. 创建角色

cd /home/devops/ansible
mkdir roles    
ansible-galaxy init apache    #初始化角色
ansible-galaxy init haproxy
ansible-galaxy init keepalive
rm -fr README.md tests    #进入角色目录删除测试目录

2. 编写规则文件roles的默认路径

vim /home/devops/ansible.cfg
[defaults]
inventory = ./inventory    #管理用户的清单,其中包括用户和用户组
roles_path = ./roles       #存放角色规则的路径

[privilege_escalation]     #默认在执行时转化为root用户
become=True
become_method=sudo
become_user=root
become_ask_pass=False

3. 编辑用户清单(用户和用户组)

vim /home/devops/ansible/inventory
[lb]
server1 STATE=MASTER VRID=5 PRIORITY=100
server4 STATE=BACKUP VRID=5 PRIORITY=50
[test]
server2 
[prod]
server3  
[webserver:children]
test
prod

4. 编辑apache角色目录下的文件

(1)修改任务目录tasks中的main.yml文件,添加需要执行的动作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值