Linux —— ansible自动化运维(六)

利用角色简化 playbook

ansible可以自定义模块以便于调用,它也有一个特有的名称叫做角色
每个角色对应的服务可能不太一样,比如mysql,httpd,nginx,memcached
虽然每个角色(模块)的功能不一样,但是他们都以特定的目录结构进行组织。

1. ansible 角色优点

1.角色可以把内容分组,容易复用 
2.可以用角色定义系统基本信息:web 服务器、数据库服务器等
3.角色可以使大型项目易管理
4.角色可以由不同人并行开发

ansible 角色会把不同功能的 playbook 分开,一个标准的角色含有下列子目录

defaults其中的 main.yml 包含角色变量的默认值
files包含角色任务引用的静态文件
handlers主要定义处理程序
meta角色相关信息,如作者、许可证等
tasks定义任务
templates任务引用的 jinja2 模板
tests可以包含清单和 test.yml 的 playbook,用于测试
vars定义角色的变量

注:defaults在所有变量中优先级最低

2. 在playbook中使用 ansible 角色

---
- hosts: www.example.com
  roles: 
    - role1 
    - role2
        var1:var1 
        var2:var2
 为 role2 定义了两个变量,任何 defaults和vars中的变量都会被覆盖

2.1 控制执行顺序

有时需要在角色之前或之后执行一些任务

 关键字:
  之前:pre_tasks
  之后:post_tasks

2.2 利用系统角色重用内容

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

2.3 时间同步角色示例

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

2.4 时区设置的 example

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

3. 创建角色

3.1 角色创建流程

三个步骤
1.创建角色目录结构
2.定义角色内容 
3.在 playbook 中使用角色

3.2 创建角色框架

å¨è¿éæå¥å¾çæè¿°

[root@work roles]# tree my_role
my_role   具体的角色项目名称,比如 nginx、tomcat、php(自由设置)
├── defaults  用于为当前角色设定默认变量,此目录应当包含一个 main.yml 文件 
│   └── main.yml  main.yml,类似代码中的主函数,进行统一管理
├── files   用来存放由 copy 模块或 script 模块等模块调用的文件
├── handlers  用于定义此角色中触发条件时执行的动作,此目录应当包含一个
│   └── main.yml
├── meta    用于定义此角色的特殊设定及其依赖关系,此目录应当包含一个
│   └── main.yml
├── README.md   说明文件
├── tasks  用于定义当前角色的任务列表,此目录应当包含一个 main.yml 文件
│   └── main.yml
├── templates  用来存放 jinjia2 模板,template 模块会自动在此目录中寻找 jinjia2 模板文件
├── tests  用于存放测试 role 本身功能的 playbook 和主机定义文件,在开发测 试阶段比较常用,此目录应当包含一个 main.yml 文件和自身资源设定 invetory
│   ├── inventory
│   └── test.yml
└── vars
    └── main.yml  用于定义此角色用到的变量,此目录应当包含一个 main.yml 文件

8 directories, 8 files

3.3 练习

创建并初始化

å¨è¿éæå¥å¾çæè¿°

配置 tasks 的 play

安装、启动和配置虚拟主机

å¨è¿éæå¥å¾çæè¿°

编写处理程序

å¨è¿éæå¥å¾çæè¿°

编写 html 文件

å¨è¿éæå¥å¾çæè¿°

配置模板

å¨è¿éæå¥å¾çæè¿°

编写roles的playbook

å¨è¿éæå¥å¾çæè¿°

运行

å¨è¿éæå¥å¾çæè¿°

测试

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值