首页 > 代码库 > playbook核心元素之 --> 角色role(9)
playbook核心元素之 --> 角色role(9)
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 nginx yum: name=nginx state=present tags: insngx - name: install conf file template: src=http://www.mamicode.com/nginx.conf.j2 dest=/etc/nginx/nginx.conf>
[root@ansible roles]# vim nginx/templates/nginx.conf.j2 //可以简单修改端口号测试 //在配置文件中引用一个变量
[root@ansible roles]# vim nginx/handlers/main.yml - name: reload nginx service service: 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: centos7 remote_user: root roles: - nginx
测试
[root@ansible roles]# ansible-playbook nginx.yml
本文出自 “似水流年” 博客,请务必保留此出处http://sixijie123.blog.51cto.com/11880770/1878106
playbook核心元素之 --> 角色role(9)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。