文档章节

ansible之roles

jk409
 jk409
发布于 2014/08/09 13:49
字数 312
阅读 2062
收藏 2
软件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

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

© 著作权归作者所有

共有 人打赏支持
上一篇: git 简单用法
下一篇: saltstack中stae用法
jk409
粉丝 20
博文 159
码字总数 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
0
ansible一键部署lnvamp

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

Ailu0li
2017/02/08
0
0
ansible-playbook 远程安装nginx

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

hello_cjq
2017/02/02
0
0
用ansible自动 安装nginx

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

huningfei
2017/03/06
0
0
ansible 自动化编译安装nginx服务、管理配置文件

图解: 说明: 系统版本: CentOS Linux release 7.4.1708 (Core) 需要先在一台机上先装好nginx,再配置ansible服务 1、将替换的文件放入到templates中,ansible可以找到 2、自动化安装时得确...

jiekegz
07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Flask框架web开发:零基础入门

Flask框架是Python开发的一个基于Werkzeug和Jinja 2的web开发微框架,它的优势就是极其简洁,但又非常灵活,而且容易学习和应用。因此Flask框架是Python新手快速开始web开发最好的选择,此外...

笔阁
13分钟前
1
0
VMware前路难测,多个厂家群雄逐鹿

在人们高谈Salesforce、亚马逊等新兴云计算厂商取得的成就时,以VMware、HPE和Cisco为代表的老牌厂商也在进行着自己的转型和变化,而且还取得一定的进展。以VMware为例,虚拟机巨头公布了第二...

linuxCool
16分钟前
0
0
什么是以太坊DAO?(一)

Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念。一般翻译为去中心化的自治组织。 “在区块链上,没有人知道你是一台冰箱”——理查德布朗 到目前为止,我们列出的所有...

geek12345
17分钟前
0
0
linux防火墙操作

一、.对于centos7自带的防火墙的相关指令 #停止firewall systemctl stop firewalld.service #禁止firewall开机启动 systemctl disable firewalld.service #查看firewall的状态 systemctl st......

张锦飞
19分钟前
1
0
Linux 磁盘与磁盘分区

  Linux 系统中所有的硬件设备都是通过文件的方式来表现和使用的,我们将这些文件称为设备文件,硬盘对应的设备文件一般被称为块设备文件。本文介绍磁盘设备在 Linux 系统中的表示方法以及...

SEOwhywhy
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部