Ansible 之旅(八) Ansible 模块

Ansible 模块

Ansible 为管理员提供了超过 1300+(目前不断的新增中) 的模块来面对不同的任务,关于模块的文档在官网可以访问:https://doc.ansible.com
针对每个模块,Ansible 文档都贴心的提供了模块的说明,参数,以及对新手来说非常有用的参考例子。除了访问在线文档外,还可以通过 ansible-doc 命令来查询模块的文档,-l 选项可以列出系统中所有模块的名称和简单的描述。

[root@demo ~]# ansible-doc -l
apk    Manages apk packages
apt     Manages apt-packages
apt_key    Add or remove an apt key
apt_repository  Add and remove APT repositories
apt_rpm      apt_rpm package manager
......

模块状态

前面介绍了,Ansible 有大量的模块可以用于任务,上游社区非常活跃,这就导致模块处于不同的开发状态,在 doc 文档中会说明模块的开发状态和谁为此模块提供维护支持,这些信息在模块文档中的 MATADATA 这一节中,如:

METADATA:
          status:
          - stableinterface
          supported_by: core

模块文档中的 status 有一下值:

状态 含义
Stableinterface 稳定状态
Perview 技术预览状态
Deprecated 下一版本将被删除
Removed 在此版本中已经删除,但保留了文档

supported_by 字段里记录的是该模块由谁进行维护:

字段 维护者
Core Ansible 核心小组
Curated 厂商,如 Redhat
Community 社区

如果遇到 Ansible 或者集成模块遇到问题,可以向上游 Ansible 社区进行反馈:https://github.com/ansible/ansible/issues
如果没有符合要求的模块,还可以自己编写模块,模块的位置在配置文件中的 library 定义,也可以使用 ANSIBLE_LIBRARY 变量来进行指定。关于如何开发,或许后面会介绍,但也可以参考官方文档:
http://doc.ansible.com/ansible/developing_modules.htnl
祝你好运 :)

最后修改:2019 年 11 月 12 日 06 : 06 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论