码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-05-07 10:22:27      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:设定   http   png   项目   定义变量   handle   var   关系   就是   

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

2Ansible Roles目录编排

技术图片

  • 一个完整role的目录结构

技术图片

  • 相对应的执行顺序

技术图片

  • 启动文件

技术图片

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

技术图片

范例的执行顺序详解

  • 1创建组

技术图片

  • 2创建用户

技术图片

  • 3安装程序

技术图片

  • 4对应不同版本主机给与不同配置文件
    技术图片
    这些模板文件都在templates文件夹下
    notify对应的文件在handlers文件夹的main.yml中
    技术图片
  • 5拷贝网页数据
    技术图片

  • 6启动服务
    技术图片

  • 7测试

技术图片
配置文件中已将端口改为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文件

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

标签:设定   http   png   项目   定义变量   handle   var   关系   就是   

原文地址:https://blog.51cto.com/9019400/2390147

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!