ansible模块:

模块(Modules),类似于 “任务插件“(”task plugins”)或“库插件”(“library plugins”)的东西。

模块 可以单独的被ansible命令调用;也可以在palybook的每个任务中被执行。

每个模块都能接收参数(arguments),绝大部分arguments的格式是key=value,用空格隔开。

一些如 ansible servers -m command -a "/sbin/reboot -t now",不是key=value格式,而是直接传shell命令。

命令行调用:

ansible webservers -m service -a "name=httpd state=started"
ansible webservers -m ping
ansible webservers -m command -a "/sbin/reboot -t now"

命令行中的-m表示调用哪个模块,-a表示模块的参数(arguments)。

palybook中调用:

- name: reboot the servers
action: command /sbin/reboot -t now - name: reboot the servers
command: /sbin/reboot -t now // 可省略action,等同于action: command - name: restart webserver
service: name=httpd state=restarted

也可以用yaml的语法传入参数:

- name: restart webserver
service:
name: httpd
state: restarted

所以的模块都有统一的json格式的返回值。

模块是等幂的

避免使用模块改变,模块必须是幂等的(idempotent,不改变的)???

模块会尽可能避免对系统作出改动,除非必须要改动的时候。

当使用playbooks时, 模块能够触发 ‘change events’,触发后会通知 ‘handlers’ 去运行附加任务。

了解模块的方法:

ansible-doc 模块名称ansible-doc -l列出所有模块。

常用模块:

setup 查看主机的一些基本信息

ping 测试主机的运行状态

file 文件操作

copy 复制文件到主机

command 在主机上执行命令

shell 切换到shell,执行指定的指令

其他模块:

service:系统服务管理

cron:计划任务管理

yum:yum软件包安装管理

synchronize:使用rsync同步文件

user:系统用户管理

group:系统用户组管理

统一返回值

  • backup_file
  • changed
  • failed
  • invocation
  • msg
  • rc
  • results
  • skipped
  • stderr
  • stderr_lines
  • stdout
  • stdout_lines

ansible模块的更多相关文章

  1. ansible笔记(3):ansible模块的基本使用

    ansible笔记():ansible模块的基本使用 在前文的基础上,我们已经知道,当我们使用ansible完成实际任务时,需要依靠ansible的各个模块,比如,我们想要去ping某主机,则需要使用 ...

  2. 第4天:Ansible模块

    Ansible对远程服务器的实际操作实际是通过模块完成的,其工作原理如下: 1)将模块拷贝到远程服务器 2)执行模块定义的操做,完成对服务器的修改 3)在远程服务器中删除模块 需要说明的是,Ansib ...

  3. ansible模块command、shell、raw、script

    简介 环境: ansible端: ip:192.168.100.129 hostname:node1.lansgg.com client端: ip:192.168.100.131 hostname:v ...

  4. win10的pycharm中安装ansible模块过程

    前面的安装报错信息 ansible模块安装报错:Could not install packages due to an OSError: [Errno 2] No such file or dire ...

  5. Ansible 模块命令介绍

    copy模块: 目的:把主控端/root目录下的a.sh文件拷贝到到指定节点上 命令:ansible 10.1.1.113 -m copy -a 'src=/root/a.sh dest=/tmp/' ...

  6. ansible 模块 分享

    A a10_server 管理A10 Networks AX / SoftAX / Thunder / vThunder设备 a10_service_group 管理A10网络设备的服务组 a10_v ...

  7. ansible 模块

    1. #vim /etc/ansible/yaml/back.yml - hosts: siyi tasks: - name: "yum rsync" yum: name=rsyn ...

  8. ansible模块学习

    ansible的功能: 模块化任务,调用特定的模块,完成特定的任务 基于python语言实现,由paramiko.pyyaml和jinja2三个模块构建 部署简单,agentless,ansible基 ...

  9. 4.1、Ansible模块

    ansible-doc -l    列出所有模块 ansible-doc 模块名    查看模块的help说明 ansible-doc -s  module_name:获取指定模块的使用信息 ***文 ...

随机推荐

  1. SVN创建分支

    工具:TortoiseSVN 创建一个空白项目,例如OA 从客户端检出OA,在OA文件夹下新建三个子文件夹 trunk:存放开发的主线,团队成员在开发的时候一直要用这个库中的内容 branches:存 ...

  2. MySQL 表分区A

    在MySQL中表的分区类型总的来说有四种: 第一种:range分区.基于一个给定的区间范围,把数据分配到不同的分区. 第二种:list   分区.基本枚举的值列表进行分区. 第三种:hast 分区.基 ...

  3. 在CI框架下执行存储的方法

    我直接把代码摆在这里分享哈 <?php /** * * Created by JetBrains PhpStorm. * User: lsl * Date: 14-1-8 * Time: 下午2 ...

  4. 只有小于65535端口编程可以用,查看哪些端口被打开netstat -anp,nc命令,nmap命令

    1024以下是系统保留的,从1024-65535是用户使用的 个人写的应用程序,尽量不要使用0到1024之间的端口号. 1024到65535我们编程可以用.这个不是Linux规定的,是socket规定 ...

  5. 网页在Safari快速滚动和回弹的原理: -webkit-overflow-scrolling : touch;的实现

    现在很多for Mobile的H5网页内都有快速滚动和回弹的效果,看上去和原生app的效率都有得一拼. 要实现这个效果很简单,只需要加一行css代码即可: -webkit-overflow-scrol ...

  6. oracle decode函数用法

    DECODE函数是ORACLE PL/SQL是功能强大的函数之中的一个,眼下还仅仅有ORACLE公司的SQL提供了此函数,其它数据库厂商的SQL实现还没有此功能.DECODE有什么用途 呢? 先构造一 ...

  7. javascript date 加一天(明天)

    end = new Date(); end = new Date(end.valueOf() + 1*24*60*60*1000);

  8. java web分享ppt大纲 -- servlet容器简介

    今天在公司分享了java web的ppt,把ppt大纲放在这里,希望可以帮助需要的人 servlet容器简介 定义 狭义上的,servlet容器为java Web应用提供运行时环境,负责管理servl ...

  9. HTML标记语言和CSS样式的简单运用(Nineteenth Day)

    曾经励志下去要坚持把每天所学的知识记录下来,可是坚持了几天后,就觉得自己坚持不下去了....这几天自己好好的想了想,觉得不能坚持也得要坚持,因为要对自己负责,所以得学会逼着自己去做,只有这样才能把一件 ...

  10. Lowest Common Ancestor of a Binary Search Tree (BST)

    Given a binary search tree(BST), find the lowest common ancestor of two given nodes in the BST. Node ...