5.2.4 ansible基础模块及其应用
ansible运维管理采用基于模块化方式,在安装部署过程中简单易学。ansible工作于SSH协议模式,配置管理默认使用SSH协议进行通信,在自动化运维生产环境中支持自定义模块,基于Python语言开发,集合了众多运维工具的优点,具有Palybook格式编程等优点。ansible基础模块介绍如下。
1.ping模块
执行命令ansible all -m ping,其中all参数表示对所有主机执行操作,-m参数表示在测试运行时使用ping模块。代码如下所示:
2.setup模块
setup模块获取节点的详细信息,包括获取硬件的信息和软件的信息,如主机IP地址、环境变量等。代码如下所示:
3.在服务器之间批量复制文件
从ansible主机中将源文件复制到目标服务器主机中,代码如下所示:
4.file模块
在运维服务器主机中新建文件和目录,如果文件存在,则会更新数据信息。
(1)新建文件的代码如下所示:
(2)新建目录的代码如下所示:
(3)删除目录,并批量删除指定目录文件,代码如下所示:
5.shell模块
与command模块的使用类似,不同点是command的执行命令不能通过管道。
shell模块的执行命令如下所示:
6.script模块
script模块可以帮助我们在远程主机上执行ansible来管理主机上的脚本,也就是说,脚本一直存在于ansible管理主机本地,不需要手动拷贝到远程主机后再执行。代码如下所示:
7.group模块
group模块用于在管理服务器主机中批量新建用户组,可以指定用户组ID和用户组名称,代码如下所示:
8.user模块
user模块用于批量管理用户,在管理服务器主机中新建用户和删除用户,代码如下所示:
9.get_url模块
从远程网络中将需要的文件批量下载到本地服务器中,代码如下所示:
10.yum模块
yum模块能够从指定的服务器自动下载RPM安装包,并且可以自动处理依赖性关系。安装http服务的执行命令如下所示:
11.service模块
service模块用来管理节点上的服务,可开启、关闭、重启服务器等。启动服务器、重启服务器、停止服务器的代码如下所示: