ansible-role角色:通过一个批量部署nginx范例学习role

本文介绍了Ansible自1.2版本引入的role特性,它可层次性、结构化组织playbook,能自动装载变量文件等。还阐述了Ansible Roles的目录编排,包括完整role的目录结构、执行顺序,并给出范例执行顺序详解,最后总结了各个目录的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1简单的介绍role

  • ansible自1.2版本引入的新特性,用于层次性、结构化地组织playbook
  • roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。
  • 简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷地include它们的一种机制。角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中

2Ansible Roles目录编排

ansible-role角色:通过一个批量部署nginx范例学习role

  • 一个完整role的目录结构

ansible-role角色:通过一个批量部署nginx范例学习role

  • 相对应的执行顺序

ansible-role角色:通过一个批量部署nginx范例学习role

  • 启动文件

ansible-role角色:通过一个批量部署nginx范例学习role

  • 每个文件夹下都有一个main.yml文件,这是每个模块目录必须有的

ansible-role角色:通过一个批量部署nginx范例学习role

范例的执行顺序详解

  • 1创建组

ansible-role角色:通过一个批量部署nginx范例学习role

  • 2创建用户

ansible-role角色:通过一个批量部署nginx范例学习role

  • 3安装程序

ansible-role角色:通过一个批量部署nginx范例学习role

  • 4对应不同版本主机给与不同配置文件
    ansible-role角色:通过一个批量部署nginx范例学习role
    这些模板文件都在templates文件夹下
    notify对应的文件在handlers文件夹的main.yml中
    ansible-role角色:通过一个批量部署nginx范例学习role
  • 5拷贝网页数据
    ansible-role角色:通过一个批量部署nginx范例学习role

  • 6启动服务
    ansible-role角色:通过一个批量部署nginx范例学习role

  • 7测试

ansible-role角色:通过一个批量部署nginx范例学习role
配置文件中已将端口改为8080

一些总结

  • 各个目录作用

/roles/project/ :项目名称,有以下子目录

  • files/ :存放由copy或script模块等调用的文件
    templates/:template模块查找所需要模板文件的目录
    tasks/:定义task,role的基本元素,至少应该包含一个名为main.yml的文件;其它的文件需要在此文件中通过include进行包含
  • handlers/:至少应该包含一个名为main.yml的文件;其它的文件需要在此文件中通过include进行包含
  • vars/:定义变量,至少应该包含一个名为main.yml的文件;其它的文件需要在此文件中通过include进行包含
  • meta/:定义当前角色的特殊设定及其依赖关系,至少应该包含一个名为main.yml的文件,其它文件需在此文中通过include进行包含
  • default/:设定默认变量时使用此目录中的main.yml文件

转载于:https://blog.51cto.com/9019400/2390147

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值