ansible-playbook的Temlates模块 tags模块 Roles模块

Temlates模块

jinja模板架构,通过模板可以实现向模板文件传参(python转义)把占位符参数传到配置文件中去,生产一个目标文本文件,传递变量到需要的配置文件当中 (web开发)

nginx.conf.j2 早文件当中配置的是占位符(声明的变量)

/etc/ansible/hosts配置了主机的占位符名称和j2文件的占位符一致(定义参数:占位符的参数声明好)

playbook当中,用template模块来把参数传给目标主机的配置文件

nginx

到nginx.conf里

mv nginx.conf /opt/nginx.conf.j2

vim /etc/ansible/hosts

vim nginx.yml

- hosts: allremote_user: rootvars:- package: nginx- service: nginxtasks:- name: install nginxyum: name={{package}}- name: install configure filetemplate: src=/opt/nginx.conf.j2 dest=/etc/nginx/nginx.confnotify:- restart nginx- name: create root_dirfile:path: /opt/nginx/htmlstate: directory- name: start nginxservice: name={{service}} enabled=true state=startedhandlers:- name: restart nginxservice: name={{service}} state=restarted

tags模块

标签模块,可以在playbook当中为任务设定标签(tags)我们在运行playbook可以通过指定任务标签,来实现只允许设定的标签任务

任务标签的种类:

always:不管你是否指定了运行标签,任务都会执行

never:是否运行了指定标签该任务也不会执行

debug:调试任务

setup:收集主机信息

自定义标签

per_tasks:指定标签之前的任务

post_tasks:运行指定标签之后的任务

#在目标主机上复制文件/opt/guoqi.txt
#在20.0.0.14 touch guoqu,txt always
#在目标20.0.0.14复制文件/opy/yy.txt
#自定义标签
#第一次运行playbook 不指定标签查看文件生成情况 指定标签为自定义,查看文件生成情况

Roles模块

角色

ansible层次化,结构化的组织playbook ,使用了rolse(角色)

可以根据层次结构,自动装在变量文件,task,以及handiers等等

rolse:分别把变量文件 任务模块以及处理器 放在单独的目录当中,使用relse模块来一键调用这些文件

rolses:

-----web--总目录,角色

files 存放copy和script模块调用的文件

templaes 存放j2的模板文件

tasks包含任务的目录

------main.yml 校色运行的任务

handlers包含处理器的目录

------main.yml

vars:存放变量目录

------main.yml

defaults:包含默认变量的目录

------main.yml

meta:包含元信息的目录

------main.yml

site.yml用来调用所有的配置文件

三个服务分别是三个角色

http

mysql

php

现在/etc/ansible/roles下面创建好php http mysql的目录

分别在php http和mysql目录下建创建

在http php 和mysql目录里先进入tasks

mysql的
- name: install mysqlyum: name={{pkg}}
- name: start mysqlservice: enabled=true name={{svc}} state=started
php的
- name: install phpyum: name={{pkg}}
- name: start php-fpmservice: enabled=true name={{svc}} state=started
http的
- name: install httpdyum: name={{pkg}}
- name: start httpdservice: enabled=true name={{svc}} state=started

在http php 和mysql目录里先进入vars

mysql的
pkg:- mariadb- mariadb-server
svc: mariadbhttpd的
pkg: httpd
svc: httpdphp的
pkg:- php- php-fpm
svc: php-fpm

 在/etc/ansible/roles/site.yml

- hosts: 20.0.0.14remote_user: rootroles:- httpd- mysql- php

ansible-playbook site.yml 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/292620.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GBASE南大通用数据库在Windows和Linux中创建数据源

Windows 中数据源信息可能存在于两个地方:在 Windows 注册表中(对 Windows 系统), 或在一个 DSN 文件中(对任何系统)。 如果信息在 Windows 注册表中,它叫做“机器数据源”。它可能是一个“用 …

机器学习——分类评价指标

【说明】文章内容来自《机器学习——基于sklearn》,用于学习记录。若有争议联系删除。 1、评价指标 对于模型的评价往往会使用损失函数和评价指标,两者的本质是一致的。一般情况下,损失函数应用于训练过程,而评价指标应用于测试过…

整数比较(比较4个数并从小到大输出)C语言xdoj94

描述: 从键盘输入四个整数,要求按由小到大的顺序输出。 输入说明: 输入四个整数,以空格间隔。 输出说明: 输出排序后的整数,以空格间隔。 输入样例 样例1输入 -99 9 99 -9 输出样例 样例1输出 -99 -9 9 99 …

逆波兰计算器的完整代码

前置知识&#xff1a; 将中缀表达式转为List方法&#xff1a; //将一个中缀表达式转成中缀表达式的List//即&#xff1a;(3042)*5-6 》[(, 30, , 42, ), *, 5, -, 6]public static List<String> toIndixExpressionList(String s) {//定义一个List&#xff0c;存放中缀表达…

svn合并跟踪信息丢失

最近合并完了发现没有可以提交的合并信息&#xff0c;类似这样的&#xff1a; 红色部分框起来的灰色字体的&#xff0c;也就是合并信息 没有合并跟踪信息的话&#xff0c;下次合并时&#xff0c;就不知道上次合并了哪些内容&#xff0c;可能会重复合并&#xff0c;也可能漏合并…

Java反序列化链子分析-3

文章目录 前言Hessian反序列化TemplatesImplSpring AOPPartiallyComparableAdvisorHolderResin 前言 续接之前那篇Java反序列化-2的文章。 Hessian反序列化 Hessian是一种用于远程调用的二进制协议。它被广泛用于构建分布式系统中的跨平台通信&#xff0c;特别适用于Java语言…

【JS】事件循环机制

一、JS单线程、异步、同步概念 众所周知&#xff0c;JS是单线程&#xff08;如果一个线程删DOM&#xff0c;一个线程增DOM&#xff0c;浏览器傻逼了&#xff5e;所以只能单着了&#xff09;&#xff0c;虽然有webworker酱紫的多线程出现&#xff0c;但也是在主线程的控制下。we…

京东tp26旋转验证

记录一下&#xff0c;狗东的tp26旋转验证码&#xff0c;难点还是在这个轨迹上。我真的是一点都不喜欢玩轨迹&#xff01;&#xff01;&#xff01;&#xff01; 类似于百度旋转的图&#xff0c;不过他这个东西还是稍微有点差距的。 鉴于生病了脑子不太好使&#xff0c;就不过多…

KBU808-ASEMI适配高端电源KBU808

编辑&#xff1a;ll KBU808-ASEMI适配高端电源KBU808 型号&#xff1a;KBU808 品牌&#xff1a;ASEMI 封装&#xff1a;KBU-4 最大平均正向电流&#xff1a;8A 最大重复峰值反向电压&#xff1a;800V 产品引线数量&#xff1a;4 产品内部芯片个数&#xff1a;4 产品内…

Docker概述及介绍

Docker是近年来新兴的虚拟化工具&#xff0c;它可以和虚拟机一样实现资源和系统环境的隔离。 库&#xff0c;然后再安装应用&#xff1b; Container(Docker容器)&#xff0c;在宿主机器、宿主机器操作系统上创建Docker引擎&#xff0c;在引擎的基础上再安装应用。 Docker三…

链表反转【思路】

链表反转 思路1. 将1->2->3->4->5这个链表中的2&#xff0c;3位置反转为1->3->2->4->52. 将1->2->3->4->5这个链表中的2&#xff0c;3&#xff0c;4位置反转为1->4->3->2->5思路总结 3. 将1->2反转为2->1 Java代码 将1-…

VM——计算流程执行耗时

1、计算同一个流程内的耗时&#xff0c;可以直接用“耗时统计”模块&#xff1b; 2、计算多个流程的运行耗时&#xff0c;需要使用“脚本”&#xff0c;利用C#函数计算耗时 首先&#xff0c;记录起始时间&#xff0c;保存到string类型的全局变量中&#xff0c; curTmStr Dat…