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.yml8 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 | 文件 | 测试所使用的playbook |
vars | 目录 | 保存变量配置信息的目录 |
vars/main.yml | 文件 | 用于保存变量配置信息 |