文档章节

ansible之roles

jk409
 jk409
发布于 2014/08/09 13:49
字数 312
阅读 2061
收藏 2
点赞 0
评论 1
软件lamp目录结构:
files:存文件的,ansible默认就会到这里目录去找文件,对应task里面的copy模块
tasks:存放tasks的
handlers:存放handlers
templates:存放模板,对应task里面的模块template
vars:这里面定义的变量,只对当前role有作用
meta:定义role和role直接的依赖关系。

[root@mysql_2 ~]# tree /root/lamp/
/root/lamp/
├── hosts
├── roles
│   ├── apache
│       ├── handlers
│       │   └── main.yml
│       ├── tasks
│       │   └── main.yml
│       └── templates
│            └── file.j2
└── wq.yml


lamp/hosts 文件内容:

[root@mysql_2 ~]# cat  /root/lamp/hosts 
[test]
192.168.1.211
192.168.1.212
192.168.1.213


lamp/wq.yml 文件内容:

[root@mysql_2 ~]# cat  /root/lamp/wq.yml 
---
 - name: install httpd
   hosts: all
   user: root
   roles:
     - apache
     #会调用roles/apache/tasks/main.yml
     #- mysql
     #- {role: apache,tags:{'delete_httpd'}}

 - name: install mysql
   hosts: all
   roles:
     - mysql


lamp/roles/apache/tasks/main.yml 文件内容:

[root@mysql_2 ~]# cat  /root/lamp/roles/apache/tasks/main.yml 
---
 - name: install httpd
   yum: name=httpd  state=present
   notify:
     - restart httpd
     - restart iptables
   #- include: delete_httpd.yml
    #会调用、roles/apache/handlers/main.yml文件里 \
    #对应name为restart httpd和restart iptables的相应命令并执行,
    #若之前apache服务已安装,再次执行,notify无法c触发


lamp/roles/apache/handlers/main.yml 文件内容:

[root@mysql_2 ~]# cat  /root/lamp/roles/apache/handlers/main.yml 
---
 - name: restart httpd
   service: name=httpd  state=restarted

 - name: restart iptables
   service: name=iptables  state=restarted

templates文件夹目前没有内容,准备放模板文件;


执行,如下:

#cd ./lanmp

#ansible-playbook   -i   ./hosts   wq.yml

-----------------------------------------------------------------

© 著作权归作者所有

共有 人打赏支持
jk409
粉丝 20
博文 157
码字总数 38443
作品 0
深圳
后端工程师
加载中

评论(1)

Leon999
Leon999
谢谢分享
通过ansible部署高可用LNAMMKP架构

通过ansible部署高可用LNAMMKP架构 主/备模式高可用keepalived+{nginx(proxy)|lvs} 两台主机:httpd+php+Discuz!+phpMyAdmin 一台主机:memcached用来缓存php的session; 一台主机:mysql-s...

Runs_ ⋅ 2017/11/14 ⋅ 0

ansible一键部署lnvamp

lnvamp的意思是Linux(centos7.2),Nginx,varnish,Apache,MySQL,PHP。我在这个平台之上构建的discuz论坛,我写了一个roles来实现,这个脚本很不健壮幂等性不足,需要大量的判断继续完善...

Ailu0li ⋅ 2017/02/08 ⋅ 0

ansible-playbook 远程安装nginx

ansible 用于批量管理远程服务器,下面记录使用ansible远程部署nginx服务的过程。 实验环境: ansible主机:centos6.6 192.168.38.152 已经源码编译安装好了nginx服务,安装过程参考这里 远程...

hello_cjq ⋅ 2017/02/02 ⋅ 0

用ansible自动 安装nginx

一 前期说明 l思路:先在一台机器上编译安装好nginx、打包,然后再用ansible去下发 lcd /etc/ansible 进入ansible配置文件目录 lmkdir nginxinstall 创建一个nginxinstall的目录,方便管理 ...

huningfei ⋅ 2017/03/06 ⋅ 0

自动化运维之ansible详解

1.ansible安装以及配置认证 ansible也是有Python开发的。 ansible特点: 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格...

Rachy1989 ⋅ 2017/03/24 ⋅ 0

ansible 的Playbook

实验前准备:各主机之间实现ssh相互登录,关闭防火墙,SELinux,同步时间 Playbook:YAML(可读性高,用来表达数据序列的格式)格式,任务(task) 可以用YAML脚本批量执行计划好的命令,从而...

工运搬维运 ⋅ 2017/11/26 ⋅ 0

rhel7 ansible 自动化部署示例

环境: centos 7 设置系统limit 为65535 详见: http://www.cnblogs.com/qq78292959/archive/2012/03/07/2383337.html 关闭selinux /etc/sysconfig/selinuxSELINUX=disabled安装ansibleyum in......

qwjhq ⋅ 2017/01/20 ⋅ 0

ansible编写hadoop群集

Ansible实战:部署分布式日志系统 本节内容: 背景 分布式日志系统架构图 创建和使用roles JDK 7 role JDK 8 role Zookeeper role Kafka role Elasticsearch role MySQL role Nginx role Re...

拎壶冲冲冲 ⋅ 04/17 ⋅ 0

ansible 角色定义及调用(nginx)

Roles的介绍 Roles是ansible自1.2版本引入的新特性,用于层次性,结构化地组织playbook,roles能够根据层次型结构自动自动装在变量文件、tasks以及handlers等。 创建roles的步骤 创建以roles...

XiaoBingZ ⋅ 2017/10/24 ⋅ 0

基于条件测试实现角色调用

基于条件测试实现角色调用 实例:指定 memcached 的运行内存大小为总大小的 1/4,并只有centos 7版本系统才执行操作 ` [root@localhost ~]# mkdir -pv /etc/ansible/roles/memcached/tasks [...

网费 ⋅ 2016/05/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

IDEA PermGen space内存溢出

解决方案: File -> Settings -> Build, Execution, Deployment / Build Tools / Maven / Runner下,找到VM Options选项,默认是空的,改为如下内容(或更大值)...

快乐的小火柴 ⋅ 13分钟前 ⋅ 0

前端常见跨域解决方案

什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1.) 资源跳转: A链接、重定向、表单提交2.) 资源嵌入: <link>、<script>、<im...

临江仙卜算子 ⋅ 14分钟前 ⋅ 0

系统管理命令service

service命令用来控制系统服务的实用工具,例如启动、停止、重启和关闭系统服务,以及当前状态。当然也可以直接操作,例如/etc/init.d/mysqld restart等。 语法 service (选项)(参数) 选项...

Jpchina ⋅ 19分钟前 ⋅ 0

MySQL 联合索引的命中规则

为什么要用联合索引? 对于查询语句“SELECT T.* FROM T WHERE T.c1=1 AND T.c3=2”涉及到两列,这个时候我们一般采用一个联合索引(c1, c3);而不用两个单列索引,这是因为一条查询语句往往应...

hensemlee ⋅ 27分钟前 ⋅ 0

Spring 自动组件扫描

通常情况下都是在XML配置文件中手动声明Bean和组件的。不过Spring也可以自动扫描组件实例化Bean,这样就可以避免在XML文件中繁琐的Bean声明。 手动声明Bean: 这里不再啰嗦,就是简单地在XML...

霍淇滨 ⋅ 31分钟前 ⋅ 0

MapReduce简单需求分析-共同好友及查找互粉的情况

MapReduce的设计,最重要的是要找准key,然后制定一系列的数据处理流程。MapReduce的Map中,会把key相同的分配到同一个reduce中,对于key的选择,可以找到某个相同的因素。以下面的几个例子说...

Jason_typ ⋅ 33分钟前 ⋅ 0

springboot多数据源自动切换

SpringBoot多数据源切换,先上配置文件: 1.pom: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20......

JackyRiver ⋅ 35分钟前 ⋅ 0

Boost库编译应用

版本:Boost 1.66.0 Windows库编译 官网指南:直接执行bootstrap.bat处理文件即可,可以我却遇到一堆的问题。 环境:Windows 10 + Visual Studio 2017 Boost编译出来库命名 boost库生成文件命...

水海云 ⋅ 39分钟前 ⋅ 0

解决Eclipse发布到Tomcat丢失依赖jar包的问题

如果jar文件是以外部依赖的形式导入的。Eclipse将web项目发布到Tomcat时,是不会自动发布这些依赖的。 可以通过Eclipse在项目上右击 - Propertics - Deployment Assembly,添加“Java Build ...

ArlenXu ⋅ 40分钟前 ⋅ 0

iview tree组件层级过多时可左右滚动

使用vue+iview的tree组件,iview官网iview的tree树形控件 问题描述:tree层级过多时左右不可滚动 问题解决:修改overflow属性值 .el-tree-node>.el-tree-node_children { overflow: vi...

YXMBetter ⋅ 41分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部