Ansible社区的Galaxy就是类似类似dockerhub一样的存在,很多可以复用的角色(role),都在一个被称为Ansible Galaxy的网站进行分享。
Ansible Galaxy网址:https://galaxy.ansible.com/
使用ansible-galaxy生成角色框架
版本信息
ansible-galaxy --version ansible-galaxy 2.9.10 config file = /etc/ansible/ansible.cfg configured module search path = [u'/home/kaikai/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/dist-packages/ansible executable location = /usr/bin/ansible-galaxy python version = 2.7.17 (default, Apr 15 2020, 17:20:14) [GCC 7.5.0]使用ansible-galaxy init 命令即可生成角色框架
命令格式:ansible-galaxy init 角色名称
[root@host131 ansible]# ansible-galaxy init prometheus - prometheus was created successfully [root@host131 ansible]#框架结果确认 [root@host131 ansible]# tree prometheus/ prometheus/ ├── defaults │ └── main.yml ├── files ├── handlers │ └── main.yml ├── meta │ └── main.yml ├── README.md ├── tasks │ └── main.yml ├── templates ├── tests │ ├── inventory │ └── test.yml └── vars └── main.yml
8 directories, 8 files [root@host131 ansible]#
可以看到,此版本的ansilbe-galaxy init命令生成的框架中包含8个目录和8个文件,相关说明如下所示:
名称 类型 说明defaults 目录存放默认配置信息的目录defaults/main.yml 文件 存放默认配置变量的文件files 目录存放文件的目录,在此目录下copy等模块可以直接使用handlers 目录触发调用回调目录handlers/main.yml 文件触发调用回调目录主文件meta 目录存放元信息相关的配置文件的目录meta/main.yml 文件存放此模块的一些元信息,比如所支持的Ansible最小版本以及操作系统类型等README.md 文件用于模块说明和介绍的文件tasks 目录保存角色功能实现任务所在的目录tasks/main.yml 文件角色的入口文件,执行角色时会从此文件开始执行templates 目录存放jinjia2模版文件的目录tests 目录存放模块测试相关的内容的目录tests/inventory 目录测试所使用的inventory文件tests/test.yml 文件测试所使用的playbookvars 目录保存变量配置信息的目录vars/main.yml 文件用于保存变量配置信息