ansible-role角色:通过一个批量部署nginx范例学习role
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible-role角色:通过一个批量部署nginx范例学习role相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章
server 2016 WDS服务批量部署windows系统
Ansible-Role编写之incloud/blockinfile/mode/systemd/