ansible之role角色创建vsftpd搭建

本文介绍了如何使用Ansible的Roles功能来创建并管理VSFTPD服务器的部署。Roles允许将配置文件、任务、变量和模板分离,提高代码复用性。文章详细阐述了Handlers的关键作用,即在配置文件更改后触发特定任务,如服务重启。通过示例,展示了从创建角色、定义任务、设置变量到编写模板和playbook的全过程,最后演示了在Ansible环境中执行playbook的角色应用。

一:概述

Ansible的roles功能也叫做角色,它是一种让多个playbook协同工作的实现方法。roles将playbook中的vars变量、handlers、tasks任务、模板都进行了拆分,分别放置于各自目录然后进行引用的一种机制。通常一些复杂场景才会使用roles,让代码复用度更高。

二:需求分析

比如现在我们可以架设一个ftp服务器,那么在我们教学环境中,大概有4台服务器,那么我们假设一台服务器,其它三台服务器作为ftp客户端,那么通过教学批量架设。那么这个教学当中,我们有个要求,角色里面,需要添加tasks任务,还要建立模板,还有变量文件引用。最后通过我们的playbook引用roles.yml。
本章的需求,是基于” ansible之role角色创建apache搭建”这篇文章,做了一次改进,比如,不过在开始介绍它们之前,我们先来描述一个工作场景:当我们修改了某些程序的配置文件以后,有可能需要重启应用程序,以便能够使新的配置生效,那么,如果使用playbook来实现这个简单的功能,该怎样编写playbook呢?我们在roles引进handlers这个知识点。

三:handlers关键字

我们使用handlers关键字,指明哪些任务可以被’调用’,之前说过,handlers是另一种任务列表,你可以把handlers理解成另外一种tasks,你可以理解成它们是’平级’的,所以,handlers与tasks是’对齐’的(缩进相同)。

四:示例

1、先安装角色工具,示例如下:

yum install -y rhel-system-roles

2、我们的创建角色roles之apache,示例如下:

ansible-galaxy init vsftpd

在这里插入图片描述

3、我们在tasks这目录里面生成vsftpd.yml,示例如下

在这里插入图片描述

3、我们在tasks这目录里面生成lftp.yml,示例如下
在这里插入图片描述

4、编写main.yml引用所有task,如vsftpd.yml和lftp.yml
在这里插入图片描述

5、我们定义变量文件,示例如下:

在这里插入图片描述

6、我们再定义模板template文件vsftpd.conf.j2,示例如下:
在这里插入图片描述

7、我们playbook之vsftpd.yml,示例如下:
在这里插入图片描述

8、那么我们在ansible环境中,运行playbook之roles,运行结果,示例如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

五:视频讲解

注释:后续会录制视频,如果不懂,请随时关注我的个人网站网络安全界:www.wlaqj.com。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值