11.Ansible.roles角色

11.Ansible.roles角色

roles角色

最佳组织playbook的方式是通过roles角色的方式来组织

roles
用一个已知的文件结构(且必须是这样),它会自动加载vars、tasks、handlers、template、更方便进行调用。
在创建新角色时,最关键的便是能够正确理解目录结构。
通俗来说,就是要把正确的信息放入正确的目录中,这样在调用角色时才能有正确的效果。

在这里插入图片描述


文件中,只能存在main.yml 这个文件,就是这么定义的。

步骤:

1.创建roles目录结构,手动创建、或者通过 ansible-galaxy init nginx初始化一个,
2.编写yml文件,功能,tasks任务| handlers | templates,
3.写一个playbook,调用该roles。


tree nginx

nginx
├── files #存放的配置文件,用copy可以直接调用
├── handlers #触发器
├── meta #依赖间关系
├── tasks #任务
├── templates #模板文件template可以直接调用
└── vars #变量



安装nginx案例

1.创建roles目录结构
创建nginx目录结构
mkdir nginx /{tasks,handlers,templates} -p


2.编写要执行的任务 (yml文件)
2.1.我这里先写tasks所要执行的任务
vim nginx/tasks/main.yml

1.安装nginx
2.配置nginx
3.启动nginx

注意,这里的templates模板文件的src,直接写相对路径就行,模板文件必须都放在templates文件夹中
notify所调用的handlers,也必须写在handlers目录下的main.yml文件中
在这里插入图片描述


2.2.编写notify所调用的handlers的main.yml文件
vim nginx/handlers/main.yml
在这里插入图片描述


2.3准备templats目录中的模板文件(也就是Nginx的配置文件)
cp /etc/nginx/nginx.conf nginx/templates/nginx.conf.j2

这里用到了facts变量,先抓取到被控端CPU的核心数的变量,推送配置文件之前,会先把配置文件中的变量进行引用,替换成具体的变量值,最后推送配置文件。
在这里插入图片描述


2.4.到此部署nginx所要执行的任务已经写好了
在这里插入图片描述


3.写一个playbook,调用该角色(roles)

起的角色名称是什么,这里就调用什么
在这里插入图片描述
在这里插入图片描述

执行playbook
在这里插入图片描述

这种编排方式达到了我们的预期
流程还是一样的安装、配置、启动
只不过是将不同的任务,分类放到不同文件夹下面,让整个目录清晰又层次感



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值