当前位置: 首页 > 编程日记 > 正文

Ansible06-管理roles

目录

一、roles的结构

二、RHEL系统roles

三、创建角色

四、部署角色


随着 playbook 的增多,有很多代码重用的机会。ansible 提供了一种方式——roles,只需将 roles 从一个项目复制到另一个项目,然后用 play 调用即可实现代码重用。这里的 roles 不是权限角色,应该认为是模板、框架。使用 ansible  roles 可以更快地开发 playbook ,方便并行开发,方便大型项目管理。

一、roles的结构

目录结构

[student@workstation roles]$ ansible-galaxy init apache
- Role apache was created successfully
[student@workstation roles]$ ll
total 0
drwxrwxr-x. 10 student student 154 Sep  1 22:28 apache
[student@workstation roles]$ tree apache/
apache/
├── defaults
│   └── main.yml
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── README.md
├── tasks
│   └── main.yml
├── templates
├── tests
│   ├── inventory
│   └── test.yml
└── vars└── main.yml
  • defaults,该目录下的 main.yml 包含角色变量的默认值,使用角色时可以覆盖这些默认值。这些变量优先级较低,应该在 play 中修改或自定义。比如一个 roles 是部署 mysql 数据库的,那么数据库名就应该自定义。
  • files,该目录包含角色任务引用的静态文件。
  • handlers,该目录下的 main.yml 文件包含角色的处理程序定义。
  • meta,该目录下的 main.yml 文件包含与角色相关的信息,比如作者、许可、平台、依赖项等。
  • tasks,该目录下的 main.yml 文件包含角色的任务定义。
  • templates,该目录包含角色引用的 jinja2 模板。
  • tests,该目录包含清单和 test.yml  playbook,可用于测试角色。
  • yars,该目录下的 main.yml 文件定义角色的变量值,通常用于角色内部用途。这些变量的优先级较高,在 playbook 中使用时也不应篡改。

二、RHEL系统roles

红帽自己有Ansible的roles,需要安装 rhel-system-roles 的包,角色都放在 /usr/share/ansible/roles 目录下面。

yum install rhel-system-roles

这些系统 roles 模板可以 copy 出来再使用。在 roles 的目录里面都有 README 文件可以查看用法。

三、创建角色

ansible-galaxy init apache

四、部署角色

安装角色,先编写 role file 告诉一下角色在什么位置,安装后叫什么名字。

---
- src: http:// roles locationname: roles name- src: http:// roles locationname: roles name 

再用 ansible-galaxy install 命令安装,-r 指定 role file 的位置, -p 指定安装的位置。

ansible-galaxy install -r role_file.yml -p roles/

相关文章:

用Java中的HashSet写一个学生管理系统(添加、删除、修改、查询学生信息)

不废话,上代码: 先创建一个Student类: public class Student {private String id;private String name;private String mobile;private String address;public String getId() {return id;}public void setId(String id) {this.id id;}pub…

[BZOJ 2054]疯狂的馒头(并查集)

Description CQF十分喜欢吃馒头。兴奋之下他一下子买了N 个馒头请所有认识他的人吃。 但是CQF不喜欢白色,喜欢红色、黄色、绿色等鲜艳的颜色。于是他把所有白色的馒头排成一列。然后进行M 次染色操作。每个染色操作都是用一个神奇的刷子把连续的多个馒头染成特定的某…

RealSenseD435与ORB-SLAM2实现稠密建图

一、RealSenseD435介绍 RealSenseD435是一款结构光相机,使用左右目相机和红外光实现测距。有效测距范围为0.2~10m 二、ORBSLAM2_with_pointcloud_map的安装 git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.gitclone代码,无法…

使用appium做自动化测试时,send_keyss只能输入字母数字,无法输入中文

解决方案: driver中增加以下2行配置: "unicodeKeyboard":True, #unicode编码输入 "resetKeyboard":True #隐藏软键盘 转载于:https://www.cnblogs.com/Inbreeze/p/9828568.html

centos8安装KVM/QEUM虚拟化

centos8安装KVM/QEUM。安装虚拟化主机组。启动libvirtd服务。 yum groupinstall "Virtualization Host" systemctl enable libvirtd systemctl start libvirtd 谁可以使用虚拟化呢&#xff1f;加入libvirt组即可。 usermod -aG libvirt <username> 安装Vir…

病毒的灵魂拷问(绝对原创)

哈哈哈&#xff0c;我敢说&#xff0c;这篇博客绝不会有重复的&#xff0c;因为它是我上课的走神之作&#xff0c;哈哈哈&#xff01; 不废话&#xff0c;上代码&#xff1a; import java.util.Scanner; import java.util.*; public class Test {public static void main(Str…

js:深入prototype(下:原型重写)

//当属性和方法特别多时&#xff0c;编写起来不是非常方便&#xff0c;能够通过json的格式来编写 //因为原型重写。并且没有通过Person.prototype来指定&#xff0c;此时的constructor不会再指向Person而是指向Object //假设constructor真的比較重要&#xff0c;能够在json中说…

全国所有省市县地理坐标Json格式

https://www.cnblogs.com/yzbubble/p/7707129.html转载于:https://www.cnblogs.com/loveMis/p/9829217.html

ubuntu设置不同的eigen版本

下载Eigen并进行编译 下载eigen库&#xff0c;创建build文件夹进行编译 设置安装路径 这里会设置make install的路径 随后进行make install 移动到usr/include路径下 找到第二步中安装的位置&#xff0c;移动到usr/include路径下 这样&#xff0c;需要用那个版本的eige…

MySQL01-安装mysql数据库

MySQL 可以从 YUM 源直接安装 rpm 包&#xff0c;但是这样的定制化程度低&#xff0c;不利于后期维护升级。因此&#xff0c;今天记录一种更灵活的二进制安装方式。参考 MySQL 5.7 官方文档 2.2 章节&#xff0c;具体做法和官方文档略有出入。 1、配置防火墙规则 firewall-cm…

SVO学习笔记(一)

SVO学习笔记&#xff08;一&#xff09;这篇文章FrameFeaturedetectionFeatrue_matcher三角测量求深度特征匹配非线性优化寻找匹配特征极线搜索匹配特征总结这篇文章 一个很年轻的叔叔踩进了SLAM的坑&#xff0c;现在正在学习视觉SLAM中的SVO系统。本着好记性不如烂笔头的思想&…

如何用eclipse操作MySQL数据库进行增删改查?

我们首先需要在Navicat Premium上创建一个数据库实例&#xff08;test&#xff09;&#xff0c;然后创建一个stu_info表&#xff08;id&#xff0c;name&#xff0c;mobile&#xff0c;address&#xff09; 接着创建一个Test类进行操作&#xff1a; 在这之前需要导一个包&#…

机房测试10.22

wzz的观察 简单的递推。 \(f[i][j]\)表示以\((i,j)\)这个点为右下角时最大的正方形大小。 如果这个格子为0&#xff0c;\(f[i][j]0\) 否则\(f[i][j]min(f[i-1][j],f[i][j-1],f[i-1][j-1])1\) 或者可以二分答案&#xff0c;每一次\(O(n*m)\)进行check。 递推代码&#xff1a; #i…

$.when()方法翻译

地址&#xff1a;http://api.jquery.com/jQuery.when/ jQuery.when( deferreds )&#xff0c;returns Promise 正文 Description: Provides a way to execute callback functions based on zero or more Thenable objects, usually Deferred objects that represent asynchrono…

Anaconda3 离线安装 Django-3.2.7 及依赖项setuptools、sqlparse 、asgiref、typing_extensions等模块

目录 一、背景 二、离线安装 setuptools、sqlparse 、asgiref、typing_extensions等依赖模块 三、离线安装django 一、背景 因为信息安全管理的规定&#xff0c;这台服务器不能连接互联网&#xff0c;只能离线安装 django。anaconda3 安装完成以后&#xff0c;从默认虚拟环…

倍增LCA NOIP2013 货车运输

货车运输 题目描述 A 国有 n 座城市&#xff0c;编号从 1 到 n&#xff0c;城市之间有 m 条双向道路。每一条道路对车辆都有重量限制&#xff0c;简称限重。现在有 q 辆货车在运输货物&#xff0c; 司机们想知道每辆车在不超过车辆限重的情况下&#xff0c;最多能运多重的货物。…

SVO学习笔记(二)

SVO学习笔记&#xff08;二&#xff09;这篇文章稀疏图像对齐地图点投影(地图与当前帧间的关系)reprojectMapreprojectPointreprojectCell特征点对齐中的非线性优化结尾这篇文章 这次仍是关于SVO系统的学习记录&#xff08;冲冲冲&#xff01;&#xff09;。这次的主要内容是sp…

用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)

首先需要用Navicat Premium创建一个student表 用Java连接好MySQL数据库&#xff08;需要copy一个mysql-connector-java-5.1.44-bin.jar包&#xff0c;该包可在网上找到&#xff09;后&#xff0c;我们开始用Java写一个学生管理系统&#xff1a; 我们首选需要定义好添加、删除、…

tensorflow在训练和验证时监视不同的summary的操作

如果想在训练和验证时监视不同的summary&#xff0c;将train summary ops和val summary ops放进不同的集合中即可。 train_writer tf.summary.FileWriter(log_dir /train, sess.graph) val_writer tf.summary.FileWriter(log_dir /val, sess.graph)# 假设train_loss和val_l…

Anaconda3 离线安装和配置 Django-3.2.7 使用 MySQL-5.7 数据库

Django文档 Settings / Core Settings / DATABASES 一节阐述了django与数据库交互配置的内容。 先在 MySQL 5.7 版本数据库中创建一个名为 learning_log_db 的数据库&#xff0c;和名为 myuser 的用户&#xff0c;并分配权限。 create databases learning_log_db; create use…

用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)(二)

本文上接用JDBC写一个学生管理系统&#xff08;添加、删除、修改、查询学生信息&#xff09; 这次主要是对上一文中的查询方法做一下调整&#xff0c;用创建内部类的方法来实现学生信息的查询。 我们先要定义一个接口IRowMapper&#xff1a; import java.sql.ResultSet;public…

(原)ubuntu中使用conda安装tensorflow-gpu

转载请注明出处&#xff1a; https://www.cnblogs.com/darkknightzh/p/9834567.html 参考网址&#xff1a; https://www.anaconda.com/blog/developer-blog/tensorflow-in-anaconda/ 之前的一篇&#xff0c;直接安装tensorflow的&#xff1a; https://www.cnblogs.com/darkknig…

SVO中 Inverse Compositional Image Alignment方法的学习笔记

SVO中 Inverse Compositional Image Alignment方法的学习笔记这篇文章光流法简介逆向光流法结尾这篇文章 在SVO系统中的"Relaxation Through Feature Alignment"部分使用的是一种特别的LK光流法&#xff1a;the inverse compositional Lucas-Kanade algorithm&#x…

Head First设计模式之目录

只有沉淀、积累&#xff0c;才能远航&#xff1b;沉沉浮浮&#xff0c;脚踏实地。 这本书已经闲置了好久&#xff0c;心血来潮&#xff0c;决定写个目录&#xff0c;让自己坚持看完这本书 创建型模式 抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖…

HANA 数据库备份hang住的解决办法

今天遇到 HANA 数据库备份hang住的情况。经过查 SAP NOTE 解决&#xff0c;记录一下过程。两个NOTE如下&#xff1a; 2452735 - HANA Backup failing with "[447]: backup could not be completed: [110122] A data backup cannot be created because another data backu…

简单DP【p2642】双子序列最大和

Description 给定一个长度为n的整数序列&#xff0c;要求从中选出两个连续子序列&#xff0c;使得这两个连续子序列的序列和之和最大&#xff0c;最终只需输出最大和。一个连续子序列的和为该子序列中所有数之和。每个连续子序列的最小长度为1&#xff0c;并且两个连续子序列之…

JDBC工具类

本文主要是将JDBC最基础的增删改查的工具类的代码详细的罗列出来&#xff1a; 一、我们先来看一看项目结构: 二、配置JDBC工具类 1.我们先处理异常 我们知道几乎不可能一次性就写出完美的代码&#xff0c;都是要经过很多次的调试才行&#xff0c;那在调试过程中就难免会出现…

SVO 学习笔记(三)

SVO 学习笔记&#xff08;三&#xff09;这篇博客InitializationFrame_Handler_MonoprocessFirstFrameprocessSecondFrameprocessFramerelocalizeFrame结尾这篇博客 这篇博客将介绍SVO源代码中的frame_handler_mono、initialization两个文件的代码流程。前者是SVO系统类&#x…

CMAKE设置INSTALL工程,分别设置头文件、Lib和DLL的输出路径

使用CMAKE管理工程&#xff0c;可以设置工程中的INSTALL项目运行时安装的路径&#xff0c;使用命令&#xff1a;install。 可以简单的设置安装文件的路径和文件夹&#xff1a; set(head_files//要安装的头文件 ) install(TARGETS ${head_files} DESTINATION ${CMAKE_BINARY_DI…

2021年中国工业互联网安全大赛核能行业赛道writeup之hacker

附加题 hacker&#xff0c;题目描述&#xff1a;hacker&#xff0c;附件下载 hackerhttps://download.csdn.net/download/qpeity/33230528解压缩得到一个EXE文件 ARE_YOU_SDPD.exe&#xff0c;在一个文件夹下运行看一下。 用 IDA 反汇编一下&#xff0c;发现找不到程序入口&am…