成都php网站制作程序员空壳网站清理
成都php网站制作程序员,空壳网站清理,高中网站建设计划表,服务器网站网站专用文章目录 roles批量替换文件 role 的依赖关系role 的实际案例 roles tasks 和 handlers #xff0c;那怎样组织 playbook 才是最好的方式呢#xff1f;简
单的回答就是#xff1a;使用 Roles
Roles 基于一个已知的文件结构#xff0c;去自动的加载 vars#xff0c;tasks 以… 文章目录 roles批量替换文件 role 的依赖关系role 的实际案例 roles tasks 和 handlers 那怎样组织 playbook 才是最好的方式呢简
单的回答就是使用 Roles
Roles 基于一个已知的文件结构去自动的加载 varstasks 以及 handlers 以便
playbook 更好的调用。
roles 相比 playbook 的结构更加的清晰有层次但 roles 显然要比 playbook
更加复杂难理解
比如我们无论安装什么软件都会安装时间同步服务那么每个 playbook 都要编
写时间同步服务的 task 。此时我们可以将时间同步服务 task 任务编写好等到需
要使用的时候进行调用就行了。roles 官方目录结构必须按如下方式定义。在每个目录中必须有 main.yml 文
件这些属于强制要求[rootm01 ~]# cd /etc/ansible/roles
[rootm01 roles]# mkdir
{nfs,rsync,web}/{vars,tasks,templates,handlers,files,meta} -p
[rootm01 roles]# tree
.
├── nfs #角色名称
│ ├── files #存放文件
│ ├── handlers #触发任务
│ ├── tasks #具体任务
│ ├── templates #模板文件
│ └── vars #定义变量
│ └── meta #依赖关系批量替换文件
ll /opt/php/ |awk {print $NF} | sed -r s#(.*)#- /opt/php/\1#grole 的依赖关系
roles 允许在使用时自动引入其他 role role 依赖关系存储在
meta/main.yml 文件中。
例如: 安装 wordpress 项目时:
1.需要先确保 nginx 与 php-fpm 的 role 都能正常运行
2.然后在 wordpress 的 role 中定义依赖关系
3.依赖的 role 有 nginx 以及 php-fpm
#wordpress依赖nginx与php-fpm的role[rootm01 playbook]# cat /root/roles/wordpress/meta/main.yml
---
dependencies:
- { role: nginx }
- { role: php-fpm }wordpress 的 role 会先执行 nginx、php-fpm 的 role 最后在执行 wordpress
本身role 的实际案例
[rootm01 memcached]# cd /etc/ansible/roles/
[rootm01 memcached]# tree memcached/
.
├── tasks
│ ├── main.yml
│ ├── start.yml
│ ├── template.yml
│ └── yum.yml
└── templates
└── memcached.j2[rootm01 memcached]# cat tasks/main.yml
- include: yum.yml
- include: template.yml
- include: start.yml
[rootm01 ~]# cat tasks/yum.yml
- name: install memcached package
yum: namememcached
[rootm01 ~]# cat tasks/template.yml
- name: Copy memcahed conf
template: srcmemcached.j2 dest/etc/sysconfig/memcached
[rootm01 ~]# cat templates/memcached.j2
PORT11211
USERmemcached
MAXCONN{{ ansible_memtotal_mb//4 }}
CACHESIZE64
OPTIONS
[rootm01 ~]# cat tasks/start.yml
- name: start memcached
service: namememcached statestarted enabledyes[rootm01 ~]# cat site.yml
- hosts: {{ host }}
remote_user: root
roles:
- role: memcached
# 执行playbook
[rootm01 ~]# ansible-playbook site.yml -e host10.0.0.1
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88188.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!