• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Ansible第三篇:常用模块介绍

Ansible 彭东稳 8年前 (2016-08-31) 34731次浏览 已收录 1个评论

根据Ansible官方的分类,将模块分为核心模块和额外模块,代码托管地址:https://github.com/ansible

核心模块按功能分类为:云模块、命令模块、数据库模块、文件模块、资产模块、消息模块、监控模块、网络模块、通知模块、包管理模块、源码控制模块、系统模块、单元模块、web设施模块、windows模块等。

具体可以参看官方页面ansible-modules-core。这里从官方分类的模块里选择最常用的一些模块进行介绍,介绍之前我们先调整一下hosts文件,把默认用户和密码添加到主机中,这样就不需要指定-u及-k了。

一、常用模块介绍

  • ping

测试主机是否是通的,用法很简单,不涉及参数。

  • setup

setup模块,主要用于获取主机信息,在playbooks里经常会用到的一个参数。gather_facts就与该模块相关,setup模块下经常使用的一个参数是filter参数,具体使用示例如下:

  • file

file模块主要用于远程主机上的文件操作,具体使用示例如下:

常用参数:

  • copy

复制文件到远程主机,如下示例:

常用参数:

  • service

用于管理主机服务,能够同时管理CentOS6和CentOS7,不区分CentOS6的service和CentOS7的systemctl,如下实例:

常用参数:

  • cron

用于管理计划任务,如下实例:

常用参数:

  • yum

使用yum包管理器来管理软件包,实例如下:

常用参数:

  • user

用户管理模块,使用实例:

常用参数:

注:指定password参数时,不能使用明文密码,因为后面这一串密码会被直接传送到被管理主机的/etc/shadow文件中,所以需要先将密码字符串进行加密处理。然后将得到的字符串放到password中即可。

生成一个密码

用上面生成的密码创建用户

不同的发行版默认使用的加密方式可能会有区别,具体可以查看/etc/login.defs文件确认,centos 6.5版本使用的是SHA512加密算法。

  • group

组管理模块,使用实例:

常用参数:

  • filesystem

在块设备上创建文件系统,示例如下:

常用参数:

  • mount

配置挂载点

常用参数:

  • get_url

该模块主要用于从http、ftp、https服务器上下载文件(类似于wget)

常用参数:

  • unarchive

用于解压文件的模块,

常用参数:

  • script

在指定节点上执行shell/python脚本(注意,该脚本是在ansible控制节点上面的)

  • shell

在指定节点上执行shell/python脚本(注意,该脚本是在远程节点)。

  • command

用于执行远程系统命令,此模块为ansible默认执行的模块,也是常用模块之一。

  • raw

类似于command模块、区别在于raw模块支持管道传递。

  • synchronize

就是Linux下面的rsync命令操作。

rsync支持的参数,它也都同样都支持。常用的如下:

archive:归档,相当于同时开启recursive(递归)、links、perms、times、owner、group、-D选项都为yes ,默认该项为开启。

checksum:跳过检测sum值,默认关闭。

compress:是否开启压缩。

copy_links:复制链接文件,默认为no ,注意后面还有一个links参数。

delete:删除不存在的文件,默认no。

dest:目录路径。

dest_port:默认目录主机上的端口,默认是22,走的ssh协议。

dirs:传速目录不进行递归,默认为no,即进行目录递归。

rsync_opts:rsync参数部分。

set_remote_user:主要用于/etc/ansible/hosts中定义或默认使用的用户与rsync使用的用户不同的情况。

mode:push或pull 模块,push模的话,一般用于从本机向远程主机上传文件,pull模式用于从远程主机上取文件 。


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (17)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽