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

    技术2024-04-22  98

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

     

    Processed: 0.023, SQL: 9