第 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 部分的变量管理

版权声明:
作者:WaterBear
链接:https://l-t.top/2028.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录