第 10 章 角色(roles)
第 10 章 角色(roles)
1.Roles目录结构
2.Roles基本使用
层次化、结构化组织playbook脚本
1.Roles目录结构
Roles目录结构(根据需求创建需要的目录,不需要的可以不创建,但是目录的名称不能乱改)
示例参考:https://github.com/ansible/ansible-examples
site.yml #统一进入接口 webservers.yml # 功能模块部署 fooservers.yml # 服务启用调用 hosts # 主机清单定义 group_vars # 变量管理,可以按组管理,也可以分role管理 roles/ common/ 功能模块定义,可重复利用的模块 files/ templates/ tasks/ handlers/ vars/ defaults/ meta/ webservers/ files/ templates/ tasks/ handlers/ vars/
• tasks - 包含角色要执行的主要任务列表
• handlers - 包含角色使用的处理程序
• defaults - 角色默认的变量
• vars - 角色其他的变量
• files - 角色部署时用到的文件
• templates - 角色部署时用到的模板
• meta - 角色定义的一些元数据
2.Roles基本使用
示例一:
#site.yml #统一进入接口 --- - hosts: webservers roles: - common - nginx - php
示例二:
--- -hosts: webservers roles: - common - role: nginx vars: dir: '/opt/a' app_port: 5000 - role: php vars: dir: '/opt/b' app_port: 5001
示例三:
--- - hosts: webservers roles: - role: common tags: ["common"] - role: nginx tags: ["nginx"] - role: php tags: ["php"]
group_vars 按role管理可以创建以下文件,其中
all 表示全局变量管理
common 表示role:common 部分的变量管理
nginx 表示role:nginx 部分的变量管理
php 表示role:php 部分的变量管理
文章目录
关闭