Ansible 常用模块及 API
Ansible 提供了非常丰富的功能模块,包括 Cloud(云计算)、Commands(命令行)、Database(数据库)、Files(文件管理)、Internal(内置功能)、Inventory(资产管理)、Messaging(消息队列)、Monitoring(监控管理)、Net Infrastructure(网络基础服务)、Network(网络管理)、Notification(通知管理)、Packaging(包管理)、Source Control(版本控制)、System(系统服务)、Utilities(公共服务)、Web Infrastructure(Web基础服务),等等,更多模块介绍见官网模块介绍(网址: http://ansibleworks.com/docs/modules.html )。模块默认存储目录为 /usr/share/ansible/,存储结构以模块分类名作为目录名,模块文件按分类存放在不同类别目录中。命令行调用模块格式:ansible <pattern_goes_here(操作目标)> -m<module_name(模块名)> -a <module_args(模块参数)>,其中默认的模块名为 command,即 “-m command” 可省略。获取远程 webservers 组主机的 uptime 信息格式如图9-3所示。
以上命令等价于 ansible webservers -a "uptime",获得模块的帮助说明信息格式:ansible-doc <模块名>,得到 ping 模块的帮助说明信息如图9-4所示。
在 playbooks 中运行远程命令格式如下:
- name: reboot the servers
action: command /sbin/reboot -t now
Ansible 0.8 或以上版本支持以下格式:
- name: reboot the servers
command: /sbin/reboot -t now
Ansible 提供了非常丰富的模块,涉及日常运维工作的方方面面。下面介绍 Ansible 的常用模块,更多模块介绍见官方说明。