playbook核心元素之 --> 角色role

角色:

以特定的层级目录结构进行组织的tasks、variables、handlers、templates、files等;

role_name/

    files/:存储由copy或script等模块调用的文件;

    tasks/:此目录中至少应该有一个名为main.yml的文件,用于定义各task;

其它的文件需要由main.yml进行"包含"调用;

    handlers/:此目录中至少应该有一个名为main.yml的文件,用于定义各handler;

其它的文件需要由main.yml进行"包含"调用;

    vars/:此目录中至少应该有一个名为main.yml的文件,用于定义各variable;

其它的文件需要由main.yml进行“包含”调用;

     templates/:存储由template模块调用的模板文本;

    meta/:此目录中至少应该有一个名为main.yml的文件,定义当前角色的特殊设定及其依赖关

系;其它的文件需要由main.yml进行"包含"调用;

    default/:此目录中至少应该有一个名为main.yml的文件,用于设定默认变量;

实例

[root@ansible roles]# pwd
/etc/ansible/roles  --> 配置文件中定义的默认路径
[root@ansible roles]# mkdir nginx
[root@ansible roles]# tree nginx
nginx
├── default
├── files
├── handlers
│   └── main.yml
├── meta
├── tasks
│   └── main.yml
├── templates
│   └── nginx.conf.j2
└── vars└── main.yml
[root@ansible roles]# vim nginx/tasks/main.yml
- name: install nginxyum: name=nginx state=presenttags: insngx
- name: install conf filetemplate: src=nginx.conf.j2 dest=/etc/nginx/nginx.conftags: ngxconfnotify: reload nginx service
- name: start nginx serviceservice: name=nginx enabled=true state=started
[root@ansible roles]# vim nginx/templates/nginx.conf.j2
//可以简单修改端口号测试
//在配置文件中引用一个变量
[root@ansible roles]# vim nginx/handlers/main.yml
- name: reload nginx serviceservice: name=nginx state=restarted
[root@ansible roles]# vim nginx/vars/main.yml
ngxport: "8090"  --> 修改nginx监听的端口测试

编写playbook调用角色


[root@ansible roles]# vim nginx.yml
--> 配置文件中定义的位置(/etc/ansible/ansible.cfg )
- hosts: centos7remote_user: rootroles:- nginx

测试

[root@ansible roles]# ansible-playbook nginx.yml

转载于:https://blog.51cto.com/sixijie123/1878106

playbook核心元素之 -- 角色role(9)相关推荐

  1. playbook核心元素之 模板template 介绍(7)

    playbook核心元素之 --> 模板template 介绍 templates:文件文件,内部嵌套有模板语言脚本(使用模板语言编写) [root@ansible ~]# ansible-do ...

  2. Ansible Playbook核心元素以及组件

    Playbook核心元素 Hosts 执行的远程主机列表 Tasks 任务集 Variables 内置变量或自定义变量在playbook中调用 Templates 模板,可替换模板文件中的变量并实现一 ...

  3. 三面向对象分析之UML核心元素之参与者

    一:版型         --->在UML里有一个概念叫版型.有些书里也称类型,构造型.         --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予 ...

  4. ReactiveCocoa核心元素与信号流

    ReactiveCocoa(以下简称"RAC")是一个函数响应式编程框架,它能让我们脱离Cocoa API的束缚,给我们提供另外一套编码的思路与可能性,它能在宏观层面上提升代码易读 ...

  5. 《大象:thinking in uml 》(第二版) 3章 UML核心元素 3节 用例

    只供参考,喜欢请支持正版图书 3.3 用例 用例在UML建模中是最最重要的一个元素.之所以说它重要,是因为UML是面向对象的,除用例之外,所有其他元素都是"封装"的."独 ...

  6. 按钮角色 role=“button“

    描述 按钮角色用于可点击元素,用户点击按钮来触发一些动作.按钮角色使用 `role="button"` 表示. <div id="saveChanges" ...

  7. UML::UML核心元素

    我对UML的理解:软件工程的东西.(有点模糊,不是很懂.) 建模:个人理解--对现实的一种抽象,对现实的简化,模型比现实更好理解.即是抽象. UML核心元素: 版型(stereotype):版型也称类 ...

  8. 学习 UML 核心元素

    按照描述事物的三种观点:结构(事物的客观存在).功能(事物可利用的价值).使用(对于使用者的意义)来描述<thinking in UML>中的核心元素. 1.版型: 结构:UML中的最基本 ...

  9. vuex四大核心元素

    什么是vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 个人理解就是集中管 ...

最新文章

  1. 如何查看linux系统的体系结构
  2. jQuery formValidator表单验证插件4.1.0 下载 演示 文档 可换肤 代码生成器
  3. JSON.stringify()和JOSN.parse()
  4. javaScript数据类型(包括基本数据类型和非基本数据类型)
  5. 根据另外一个表来更新,增加字段
  6. Java回文数.如12321,123454321(5个数)
  7. 使用cronolog自动分割apache的日志。
  8. 2015年下半年的读书技术
  9. 使用IdleTest进行TDD单元测试驱动开发演练(3) 之 ASP.NET MVC
  10. 回归预测 | MATLAB实现GLM广义线性模型数据回归预测
  11. 计算机显示屏显示超出屏幕大小,电脑连接的显示器出错显示超出工作频率范围怎么恢复...
  12. 手机vnc远程控制软件,手机vnc远程控制软件如何配置
  13. 把妹需要勇敢,心有猛虎,细嗅蔷薇
  14. HugeGraph+scylla环境搭建
  15. 柠檬班培训1软件测试
  16. Windows DFS
  17. React-bootstrap 中文文档
  18. DDN | 时刻准备,马上出发!
  19. 边看chromium的代码边想骂人……
  20. Sqli-labs之Less-11和Less-12

热门文章

  1. php libev pthreads,libuv 与 libev 的对比
  2. 德富莱智能抹墙机器人_深圳智能制造应急生产联盟成立,大咖共探机器人行业新机遇...
  3. oracle 查看统计情报,Oracle 查看收集统计信息
  4. php自动到某个时间提醒,2周后,php脚本cron作业将提醒消息发送到特定的电子邮件地址...
  5. tcpdump 命令的个常用选项:三
  6. 6个超实用的Sudo命令使用技巧
  7. Firewalld共享上网及本地yum仓库搭建步骤
  8. 51单片机怎么学啊?有推荐的线上网课和书籍么?
  9. java appendchild_详解javascript appendChild()的完整功能
  10. java 删除数组指定元素_Java从在数组中删除指定元素