ansible插件是增强ansible的核心功能的代码片段,ansible使用插件架构来实现丰富,灵活和可扩展的功能集。

Ansible提供了许多方便的插件,您可以轻松编写自己的插件。
下边简单介绍Ansible包含的各种插件(插件具体用法请参考官方文档或者ansible-doc):

1、action插件

Action插件与模块一起执行PlayBook任务所需的操作。它们通常在后台自动执行,在模块执行之前进行必要的工作。
“normal” action插件 用于尚未拥有action插件的模块。
您可以启用一个自定义操作插件,方法是将其放置到与role中的play相邻的action_plugins目录中,
当使用关联模块时,Action插件默认执行;不需要采取任何行动

2、cache插件

缓存插件实现的后端缓存机制,可以使ansible存储获得的facts和inventory元数据,不必再从源头检索这些数据,而降低性能。
默认的缓存插件是memory plugin,它只缓存ansible目前执行的数据,其他持久存储的插件也可以缓存数据

3、callback插件

回调插件可以在响应事件时向Ansible添加新行为。
默认情况下,回调插件控制运行命令行程序时看到的大部分输出,
但也可用于添加其他输出,与其他工具集成并将事件整理到存储后端。

4、inventory插件

清单插件允许用户指向数据源,以便通过-i  /path/to/file和/ 或-i 'host1,host2 命令行参数
或其他配置来源编译Ansible用于定位任务的主机清单。
个人觉得ini最好用

5、lookup插件

查找插件允许Ansible从外部来源访问数据。这可以包括:联系外部数据存储和服务,读取文件系统。
查找插件返回的数据可以使用Ansible中的标准模板系统提供,通常用于从这些系统中加载包含信息的变量或模板。
lookups是Jinja2模板语言的Ansible特定扩展。

6、shell插件

Shell插件可以确保Ansible运行的基本命令格式正确,可与目标机器一起使用,并允许用户配置某些与Ansible执行任务相关的行为

7、strategy插件

策略插件通过处理play和hosts调度 来控制play执行的流程。

8、vars插件

Vars插件将额外的变量注入到Ansible中运行,这些运行不是来自库存源,剧本或命令行。
Playbook使用vars插件构建像'host_vars'和'group_vars'的工作目录。
Vars插件在Ansible 2.0中部分实现,并被重写为从Ansible 2.4开始全面实施。
Ansible附带的host_group_vars插件可以从主机变量和组变量中读取变量。

9、filters

Ansible中的过滤器来自Jinja2,用于转换模板表达式中的数据。
Jinja2附带很多过滤器。请参阅官方Jinja2模板文档中的内置过滤器。
考虑到模板产生在Ansible控制器上,而不是在任务的目标主机上,所以过滤器也在控制器上执行,因为它们处理本地数据。
除了jinja2,Ansible附带自己的产品,并允许用户添加他们自己的自定义过滤器。
 

10、tests

Jinja中的tests是评估模板表达式,并返回True或False的一种方式,Jinja附带许多这些。在官方Jinja模板文档中查看内置测试。
tests和filters之间的主要区别在于Jinja tests用于比较,而filters用于数据处理,并且在jinja中有不同的应用程序,如map()和select()来选择列表中的项目。
像所有模板一样,tests总是在Ansible控制器上执行,而不是在任务的目标上执行,因为他们测试本地数据。
除了jinjia2 tests,Ansible提供更多功能,用户可以自己轻松创建。
 

11、插件过滤配置

Ansible 2.5为站点管理员添加了模块黑名单,用于禁用Ansible的某些模块。
这是通过yaml配置文件配置的(默认为/etc/ansible/plugin_filters.yml)。该文件的格式是:
---
filter_version: '1.0'
module_blacklist:
# Deprecated
- docker
# We only allow pip, not easy_install
- easy_install

ansible plugins简介的更多相关文章

  1. ansible 一 简介和部署

    一.Ansible的介绍 Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点.实现了批量系统配置 ...

  2. Ansible Playbook 简介

    我们去远程执行命令时要使用 command 模块,拷贝文件时要使用 copy 模块,如果我们要操作的东西很多,那就要执行很多条不同模块的命令Playbook 是一个 yaml 配置文件,我们可以把不同 ...

  3. ansible 基础 简介及 安装

    ansible 运维自动化工具. 没有客户端,底层通信依赖于系统软件,linux下基于openssh,win基于powershell

  4. ansible plugins 列表

    [action plugins] [cache plugins]jsonfilememcachedmemorymongodbpickleredisyaml [callback plugins]acti ...

  5. 【原创】运维基础之Ansible(1)简介、安装和使用

    官方:https://www.ansible.com/ 一 简介 Ansible is a radically simple IT automation engine that automates c ...

  6. Ansible之入门简介

    一.ansible简介 ansible是一款由python语言编写的一款自动化运维工具,它集合了众多运维工具(puppet.cfengine.chef.func.fabric)优点,实现了批量系统配置 ...

  7. Ansible - 简介和应用自动化基础实践

    installAnsible简介和应用自动化基础实践 一.引入: 1.1  如官方定义,Ansible is The simplest way to automate apps and IT infr ...

  8. ansible的plugins

    callback插件:路径 /usr/lib/python2.7/site-packages/ansible/plugins 回显输出型(stdout): stderr.py skippy.py se ...

  9. ansible简介,简单实用

    Ansible ansilbe是实现自动化运维的工具,基于python开发,实现批量系统配置,批量程序部署,批量运行命令等功能. ansible是基于模块工作的,自身是没有批量部署的能力.真正具有批量 ...

随机推荐

  1. bzoj 1705: [Usaco2007 Nov]Telephone Wire 架设电话线【dp】

    i的初始化写成2了于是成功查错2h--怕不是个傻子 设f[i][j]为第i根高为j,转移是 \[ f[i][j]=min(f[i-1][k]+abs(k-j)*c+(j-h[i])^2)(j>= ...

  2. 清北考前刷题day4下午好

    /* 辗转相除,每次计算多出现了几个数. */ #include<iostream> #include<cstdio> #include<cstring> #inc ...

  3. Vue学习-Element框架

    今天学了一个基于Vue2.0的桌面端组件库Element,号称是全世界最流行的Vue UI框架.感觉学会了之后就变身大牛了有木有. 好了,不吹牛皮了. Element官方文档通俗易懂,框架什么的安装引 ...

  4. GIt学习之路 第二天 创建版本库

    本文参考廖雪峰老师的博客进行总结,完整学习请转廖雪峰博客 创建版本库 阅读: 1859216 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文 ...

  5. *RelativeLayout的布局参数含义表,如android:layout_alignParentTop等

    RelativeLayout 参数规则 一个控件的位置由横,纵两个方向上的距离决定 控件默认的位置在左上角. 单独使用以下属性都只是改变一个方向的相对位置. 如:只使用了android:layout_ ...

  6. 石墨烯(转自wiki)

    石墨烯(Graphene)是一种由碳原子以sp2杂化轨道组成六角型呈蜂巢晶格的平面薄膜,只有一个碳原子厚度的二维材料[1].石墨烯一直被认为是假设性的结构,无法单独稳定存在[1],直至2004年,英国 ...

  7. scala学习笔记3:基本控制结构基础

    以下主要记录的是看完scala in programming这本书buildin control structures(第七章)后的要点总结. 1,if,while,do while和for的用法和j ...

  8. iPhone4到iPhone6的设计、制造工艺历程浅析

    这里就阐述一下我对这几个手机在设计和制造工艺上的一些看法. 这 5 个型号概括起来就三个外观: iPhone4 的三明治夹心设计. iPhone5 的三段式铝合金一体成型. iPhone6 的全金属一 ...

  9. springboot与dubbo整合入门(三种方式)

    Springboot与Dubbo整合三种方式详解 整合环境: jdk:8.0 dubbo:2.6.2 springboot:2.1.5 项目结构: 1.搭建项目环境: (1)创建父项目与三个子项目,创 ...

  10. Android 简单的语音播报

    不解释快上车 Main.class package com.example.myapp; import android.app.AlertDialog;import android.os.Bundle ...