码迷,mamicode.com
首页 > 其他好文 > 详细

playbook核心元素之 --> 角色role(9)

时间:2016-11-30 17:51:02      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:role   角色   playbook   ansible   

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=nginx.conf.j2 dest=/etc/nginx/nginx.conf
  tags: ngxconf
  notify: reload nginx service
- name: start nginx service
  service: 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 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)

标签:role   角色   playbook   ansible   

原文地址:http://sixijie123.blog.51cto.com/11880770/1878106

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!