Ansible(四)ansible roles实现(apache+haproxy+keepalived)负载均衡+高可用

1、ansible roles简介

<1> roles 用于层次性、结构化地组织playbook。

<2> roles 能够根据层次型结构自动装载变量文件、tasks以及handlers等。

<3> 要使用roles只需要在playbook中使用include指令即可。

<4> 简单来讲,roles就是通过分别将变量(vars)、文件(file)、任务(tasks)、模块(modules)及处理器(handlers)放置于单独的目录中,并可以便捷地include它们的一种机制。

<5> 角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中。

2、 创建 roles 的步骤

  • (1) 创建以roles命名的目录;

  • (2) 在roles目录中分别创建以各角色名称命名的目录,如webservers等。注意:在 roles 必须包括 site.yml文件,可以为空;

  • (3) 在每个角色命名的目录中分别创建files、handlers、meta、tasks、templates和vars目录;用不到的目录可以创建为空目录,也可以不创建;

  • (4) 在playbook文件中,调用各角色;

3、roles 内各目录中可用的文件

  • tasks目录:至少应该包含一个名为main.yml的文件,其定义了此角色的任务列表;此文件可以使用include包含其它的位于此目录中的task文件;

  • files目录:存放由copy或script等模块调用的文件;

  • templates目录:template模块会自动在此目录中寻找Jinja2模板文件;

  • handlers目录:此目录中应当包含一个main.yml文件,用于定义此角色用到的各- handler;在handler中使用include包含的其它的handler文件也应该位于此目录中;

  • vars目录:应当包含一个main.yml文件,用于定义此角色用到的变量;

  • meta目录:应当包含一个main.yml文件,用于定义此角色的特殊设定及其依赖关系;ansible 1.3及其以后的版本才支持;

  • default目录:为当前角色设定默认变量时使用此目录;应当包含一个main.yml文件。

4、创建第一个roles(apache)

注意:此实验是在前面实验的基础上进行的

1、 创建角色目录roles,进入角色目录创建apache角色,再次查看角色就有了

[devopes@server4 ansible]$ mkdir roles
[devopes@server4 ansible]$ pwd
/home/devopes/ansible
[devopes@server4 ansible]$ cd roles/
[devopes@server4 roles]$ ls
[devopes@server4 roles]$ ansible-galaxy init apache   
- apache was created successfully
[devopes@server4 roles]$ ls
apache
[devopes@server4 roles]$ cd apache/
[devopes@server4 apache]$ ls
defaults  files  handlers  meta  README.md  tasks  templates  tests  vars

2、在配置文件/etc/ansible/ansible.cfg中设定role存放的路径:roles_path = /etc/ansible/roles

[devopes@server4 ansible]$ vim ansible.cfg  
[devopes@server4 ansible]$ cat ansible.cfg 
[defaults]
roles_path = ./roles
inventory = ./inventory

[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

3、进入apache角色目录(删除测试目录和说明文档,这两个暂时没有用),编写任务的yml文件

[devopes@server4 apache]$ rm -rf tests/
[devopes@server4 apache]$ rm -rf README.md
[devopes@server4 apache]$ ls
defaults  files  handlers  meta    tasks  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_42566251

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值