使用ansible-galaxy快速创建角色框架

包承望
2023-12-01

ansible vs ansible-galaxy

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

 类似资料: