[TOC]
当你所管理的机器比较少时,可以使用静态inventory来保存服务器和组的关系,但是当你的服务器越来越多的时候,你通常会考虑使用一个软件系统来存放inventory信息
提供inventory的软件系统有以下几种:
- CMDB
- 公有云提供商(AWS)
- 企业内部私有云(openstack)
AWS和openstack,ansible已经提供了如何生成动态inventory的脚本,可以直接使用
AWS ansible Dynamic inventory scripts
Openstack ansible Dynamic inventory scripts
本课程通过建立一个简单的CMDB,并且使用python脚本从CMDB获取Dynamic Inventory
多数情况下,没有必要写自己的module,官方已经给我们提供了很多module,几乎涵盖了所有功能
可以使用ansible-doc --list 列出所有模块的使用帮助 Ansible Modules
当你有自己特殊的业务时,需要写自己的ansible module,如何写自己的ansible module呢 ?
本课程将通过检测文件是否变化,实现自定义ansible模块
-
什么是Ansible Python API ?
Ansible Python API是一组用python编写的类和函数,便于使用python程序调用Ansible的核心功能
-
为什么要使用Ansible Python API ? Ansible python API的应用场景主要有一下几种
- 前一次的执行结果作为后一次任务的参数输入
- 对任务的执行结果进行定制化输出或者存储
- 方便其他程序调用ans ible的核心功能
-
如何使用Ansible Python API ?
本课程通过Ansible Python API 调用之前写的自定义模块来说明Ansible Python API如何使用
-
plugin是什么?
回顾一下ansible python API的使用,讲解在哪些地方可以插入plugin
-
有哪些plugin?
- action_plugins
- cache_plugins
- callback_plugins
- connection_plugins
- lookup_plugins
- inventory_plugins
- vars_plugins
- filter_plugins
- test_plugins
- terminal_plugins
- strategy_plugins
-
如何扩展plugin?
本课程我们扩展一下callback plugin,并使用ansible运行看callback
-
如何使用扩展的plugin?
ansible.cfg中打开相关的plugin的配置