ansible角色 role

ansible中角色的介绍

一个角色本质上就是目录

在一个剧本中需要执行多项操作,还需要让操作执行明白,就需要配置相应的角色。

在创建好角色之后,会自动在角色目录下创建好很多子目录。

如上图所示,这就是创建了一个lnmp的角色。

如上图所示,是创建好角色之后出现的子目录,可以将对应角色的普通任务写在tasks目录里。

可以将对应角色的变量写在vars目录下的main.yml文件里。

可以将jinja模板写在templates目录里。

在files目录下可以存放对应的普通文件。

在handlers目录下可以写对应的handlers操作。

在defaults目录下的main.yml文件用来定义一些默认参数。

tests目录下有一个test.yml文件,这个文件里面可以写一些测试的任务。

在同一个角色里面写操作的时候,这些操作可能会涉及到相互引用。比如说在copy模块中是不需要去写源文件的路径的,ansible软件会自动在角色目录中去寻找对应的源文件。

在同一个角色中,相互引用文件,操作时,不需要添加任何路径。【如果加,反而就出错了。】

案例:部署zabbix agent的剧本

1.zabbix仓库

2.安装软件

3.改配置文件

4.启动zabbix

当我们在工作的时候,如果有一批机器用不到了,关机了。那么必须要在zabbix对这些机器进行禁用,不然过一段时间之后,数据库的负载会非常重。

如上图所示,首先创建对应的用户。

如上图所示,在角色目录下的files目录下准备对应的repo源文件。

如上图所示,我们还需要zabbix配置文件的jinja模板文件。

如上图所示,使用

如上图所示,这是对zabbix角色创建对应的tasks任务。

如上图所示,这是设置当任务执行成功,配置文件发生change=true的时候,发生的操作。

执行角色

如上图所示,这是编辑对应的剧本文件,直接运行ansible-playbook /opt/playbook/installZabbixAgent.yml

就可以直接运行这个角色对应的剧本。

相关推荐
cly13 天前
Ansible自动化(十五):加解密详解
运维·自动化·ansible
cly13 天前
Ansible自动化(十二):Jinja2过滤器
运维·自动化·ansible
cly13 天前
Ansible自动化(十三):调试与优化
数据库·自动化·ansible
cly13 天前
Ansible自动化(十四):Roles(角色)
服务器·自动化·ansible
cly13 天前
Ansible自动化(十一):Jinja2模板
网络·自动化·ansible
cly13 天前
Ansible自动化(八):条件语句
运维·自动化·ansible
China_Yanhy3 天前
Ansible 工业级项目标准化架构指南 (V1.0)
架构·ansible
cly13 天前
Ansible自动化(九):循环语句
windows·自动化·ansible
cly13 天前
Ansible自动化(十):配置文件管理模块(lineinfile / blockinfile)
运维·自动化·ansible
tyatyatya4 天前
Ansible自动化配置,从入门到实战
运维·自动化·ansible