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

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

相关推荐
Hy行者勇哥4 天前
用Cursor智能编写Ansible/Terraform脚本,打通CI/CD链路
ci/cd·ansible·terraform
芷栀夏6 天前
飞牛NAS怎么部署Immich?家庭照片自动备份与远程访问教程
服务器·nginx·ansible
悠然南风17 天前
Ansible常见模块总结及LDAP Role 编写与调试
ansible
祺风挽楠1 个月前
ansible编辑
网络·ansible
芳心粽伙饭1 个月前
Ansible课后作业
ansible
烁3471 个月前
Ansible初识
ansible
烁3471 个月前
Ansible安装部署调试
ansible
烁3471 个月前
Ansible命令
ansible
小义_1 个月前
【Ansible】(三)基础配置与连接设置
云原生·ansible
炸炸鱼.1 个月前
Ansible 企业级实战:Playbook 与 Roles 完全指南
网络·ansible