不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • Linux入门

  • Linux高级

  • Nginx

  • Keepalive

  • ansible

    • 01.ansible基础
    • 02.ansible安装配置
    • 03.Inventory(主机清单)
    • 04.ansible基本使用
    • 05.ansible常用模块
    • 06.playbook语法
    • 07.自动部署Tomcat
    • 08.playbook文件复用
    • 09.playbook条件循环
    • 10.角色(Role)
      • 1.1 什么场景下会用roles?
      • 1.2 roles目录结构
    • 11.ansible部署lnmp
  • zabbix

  • Shell

  • Linux内核

  • Linux
  • ansible
xiaonaiqiang
2021-02-13
目录

10.角色(Role)

# 01.角色(roles)

# 1.1 什么场景下会用roles?

  • 假如我们现在有3个被管理主机,第一个要配置成httpd,第二个要配置成php服务器,第三个要配置成MySQL服务器。
  • 只能,第一个play用到第一个主机上,用来构建httpd,第二个play用到第二个主机上,用来构建php,第三个play用到第三个主机上,用来构建MySQL
  • 这些个play定义在playbook中比较麻烦,将来也不利于模块化调用,不利于多次调用
  • 比如说后来又加进来一个主机,这个第4个主机既是httpd服务器,又是php服务器,我们只能写第4个play,上面写上安装httpd和php。
  • 这样playbook中的代码就重复了。
  • 为了避免代码重复,roles能够实现代码重复被调用。

# 1.2 roles目录结构

site.yml
webservers.yml
fooservers.yml
hosts

roles/
  common/    # 用于存放公共资源的地方,比如几个模块都需要使用的 变量等
    tasks/            # tasks - 包含角色要执行的主要任务列表
    files/            # files - 角色部署时用到的文件
    templates/        # templates - 角色部署时用到的模板
    handlers/         # handlers - 包含角色使用的处理程序
    vars/             # vars - 角色其他的变量
    defaults/         # defaults - 角色默认的变量
    meta/             # meta - 角色定义的一些元数据
  webservers/
    files/
    templates/
    tasks/
    handlers/
    vars/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
上次更新: 2024/3/13 15:35:10
09.playbook条件循环
11.ansible部署lnmp

← 09.playbook条件循环 11.ansible部署lnmp→

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式