首页 > 其他分享 >ansible-galaxy命令快速创建角色框架

ansible-galaxy命令快速创建角色框架

时间:2023-04-07 09:23:29浏览次数:40  
标签:框架 host131 目录 ansible root yml galaxy

在Ansible中创建角色,可以考虑使用ansible-galaxy命令快速创建角色框架。

ansible vs ansible-galaxy
Ansible是科幻小说 银河系漫游指南 中的一种超光速通讯工具,而Ansible社区的Galaxy就是类似类似dockerhub一样的存在,很多可以复用的角色(role),都在一个被称为Ansible Galaxy的网站进行分享。

Ansible Galaxy网址:https://galaxy.ansible.com/

使用ansible-galaxy生成角色框架
版本确认
[root@host131 ansible]# ansible-galaxy --version
ansible-galaxy 2.4.2.0
config file = /root/easypack/k8s/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible-galaxy
python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
[root@host131 ansible]#

生成角色框架
使用ansible-galaxy init 命令即可生成角色框架

命令格式:ansible-galaxy init 角色名称

比如如下为生成一个名为prometheus的角色框架的执行日志示例:

[root@host131 ansible]# ansible-galaxy init prometheus
- prometheus was created successfully
[root@host131 ansible]#
1
2
3
框架结果确认
[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 文件 用于保存变量配置信息
比如test目录下的playbook和inventory信息如下所示:

[root@host131 ansible]# cat prometheus/tests/inventory
localhost

[root@host131 ansible]# cat prometheus/tests/test.yml
---
- hosts: localhost
remote_user: root
roles:
- prometheus[root@host131 ansible]#
[root@host131 ansible]#

可以看到这主要是用于在本机上进行动作确认的单元测试级别的测试文件。

执行确认
只要本地localhost的ssh通,使用ansible-galaxy生成的框架是可以运行的。

[root@host131 ansible]# ssh localhost hostname
host131
[root@host131 ansible]#

运行结果如下所示

[root@host131 ansible]# ansible-playbook prometheus/tests/test.yml

PLAY [localhost] ***********************************************************************************************************************

PLAY RECAP *****************************************************************************************************************************

[root@host131 ansible]#

标签:框架,host131,目录,ansible,root,yml,galaxy
From: https://www.cnblogs.com/cheyunhua/p/17294895.html

相关文章

  • 运维Ansible自动化工具概述
    运维的工作内容安装系统:pxe、kickstart、cobbler、imagetemplate安装应用、配置应用、启动应用(服务):puppet、saltstack、chef发布程序:puppet、saltstack、chef监控(服务器、系统、应用、程序):zabbix程序发布灰度发布金丝雀发布ansible解决的问题:批量安装应用、配置应用、启动应用批量......
  • GO框架 - gin简介
    Gin是一个用Go(Golang)编写的web框架。它是一个类似于martini但拥有更好性能的API框架,由于httprouter,速度提高了近40倍。如果你是性能和高效的追求者,你会爱上Gin.快速:基于Radix树的路由,小内存占用。没有反射。可预测的API性能。支持中间件:传入的HTTP请......
  • GO框架 - beego简介
    bee工具是一个为了协助快速开发beego项目而创建的项目,通过bee您可以很容易的进行beego项目的创建、热编译、开发、测试、和部署。简单化:RESTful支持、MVC模型,可以使用bee工具快速地开发应用,包括监控代码修改进行热编译、自动化测试代码以及自动化打包部署。智能化:支......
  • GO框架 - iris简介
    专注于高性能简单流畅的API高扩展性强大的路由和中间件生态系统使用iris独特的表达主义路径解释器构建RESTfulAPI动态路径参数化或通配符路由与静态路由不冲突使用重定向选项从URL中删除尾部斜杠使用虚拟主机和子域名变得容易分组API和静态或甚至动态子域名net/http......
  • xUtils-master开源框架
    下载地址   点击打开链接  https://github.com/tablle/xUtils-master用于下载资源使用的框架xUtils-master xUtils简介xUtils包含了很多实用的android工具。xUtils最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加......
  • 走进Java接口测试之流行框架SpringBoot(概念篇)
    引言说起SpringBoot不得不先了解一下Spring这个企业,不仅因为SpringBoot来源于Spring大家族,而是SpringBoot的诞生和Sping框架的发展息息相关。Spring历史2002年正是JavaEE和EJB大行其道的时候,很多知名公司都是采用此技术方案进行项目开发。一个美国的小伙子Ro......
  • 走进Java接口测试之从0到1搭建数据驱动框架(需求篇)
    前言一个“好的”数据驱动框架,需要从“时间”、“人力”、“收益”这三个方面出发,做好“取舍”。不能由于被测业务系统发生一些变更,就导致花费了几个小时的脚本无法执行。同时,我们需要看到“收益”,不能为了总想看到100%的成功,而减少必须做的工作,这导致可能都需要进行大量的维护。......
  • 框架中无效的列类型异常分析
    org.springframework.jdbc.UncategorizedSQLException:Errorsettingnullforparameter#5withJdbcTypeOTHER.TrysettingadifferentJdbcTypeforthisparameteroradifferentjdbcTypeForNullconfigurationproperty.Cause:java.sql.SQLException:无效的列类型......
  • Go 语言体系下的微服务框架选型: Dubbo-go
    本文介绍了Go微服务体系发展与选型,过去一年优雅上下线以及对未来的展望。作者简介:牛学蔚(GitHub:@justxuewei):ApacheDubboPMC,对云原生、中间件、容器等领域有浓厚兴趣,活跃在Dubbo和Katacontainers两个开源项目中。一、Go微服务体系发展与选型随着微服务技术的快速发展,其在......
  • (转)go语言web开发22 - beego框架之logs包使用
    原文:https://www.cnblogs.com/hei-ma/articles/13791609.htmlbeego框架的logs包是一个用来处理日志的库,目前支持的引擎有file(输出日志到文件)、console(终端输出)、net(输出到网络地址)、smtp(发送邮件)。 一、beego自带的日志功能(了解即可)beego有自带的日志功能(了解即可,即将被弃用......