2、ansible的playbook

ops/2025/1/23 2:13:00/

ansible的脚本:playbook剧本

脚本的作用:复用

playbook的组成部分

1、开头 ---:表示是一个yaml文件,但是可以忽略。

2、Tasks(任务):包含了目标主机上执行的操作,操作还是由模板来执行。每一个任务都是一个ansible的模块调用的系统名,操作管理等等。

3、variables(变量):存储和传递数据,可以自定义变量,在playbook中变量都是全局的。

4、templates模板:用于生成配置文件,可以在ansible当中定义好变量和属性直接传给配置文件。

5、handlers处理器:满足条件时,进行触发的操作,通常用在任务重发生“change”,可以触发这个处理器,一般是用处理器来对服务进行重启。

6、roles角色:是一种组织和封装playbooks的方式,类似docker-compose。

一般

配置脚本文件,安装软件,开启并设置开机自启以及修改访问页

检查脚本文件语法

检查脚本中的任务数

检查脚本中目标主机

运行脚本

从指定任务开始执行

传参

内部传参创建用户

外部传参创建用户

条件判断

1、给IP地址是192.168.254.41的主机打印输出“判断位置”

2、给IP地址是192.168.254.41的主机下载nginx,修改访问页并设置重启

循环

1、 with_items

2、 with_list:每组列表就会一起循环输出

3、with together:同一列表位置数据组合输出的循环

4、with_nested:列表数据循环配置的循环

三种传参进行循环遍历的方式

标签tags

ansible中相当于标签,在执行playbook的时候指定标签来运行我们需要的tasks。

1、debug:调式,调式的结果不会写入到目标主机。

2、always:始终会运行的任务

3、setup:收集主机信息

4、pre_tasks:在主任务之前运行的任务

5、post_tasks:在主任务之后运行的任务

6、自定义标签

7、never:这个任务永远不运行

如我们使用上面的first.yml脚本文件,创建4个标签

只执行zw1标签部分执行

只执行从test2标签到test4标签部分执行

跳过zw1标签部分执行

jinja模块

jinja是基于python的模块引擎,可以把模板看做一个编译过的文件,这个文件可以直接生产目标文件,用定义好的变量替换模版中的标记位。

首先准备好nginx的模板配置文件nginx.conf.j2(jinja模块文件的默认后缀名)

在配置文件/etc/ansible/hosts设置好要传参的参数

配置脚本文件,启用模板

运行脚本后,我们在41和14两个主机上可以看出模板生效


http://www.ppmy.cn/ops/152339.html

相关文章

goland map学习-实践使用练习:判断存在及遍历

对于数据: type Person struct {Address stringAge intJob stringName string }type People map[string]Personvar per People{"1": Person{Address: "1",Age: 1,Job: "1",Name: "1",},"2&quo…

AG32 FPGA 的 Block RAM 资源:M9K 使用

1. 概述 AG32 FPGA 包含了 4 个 M9K 块,每个 M9K 块的容量为 8192 bits,总计为 4 个 M9K(4K bytes)。这使得 AG32 的内部存储非常适合嵌入式应用,能够有效地利用片上资源。 M9K 参数 参考自《AGRV2K_Rev2.0.pdf》。…

力扣面试经典题

目录 前言 一、合并两个有序数组 二、移除元素 三、删除有序数组的重复项 四、删除有序数组的重复项Ⅱ 五、取数组中出现次数大于数组长度/2的元素 六、移动数组元素 七、计算数组中相差最大的值 八、字母异位词分组 九、最长连续序列 十、移动0 十一、盛水最多的容…

Centos7系统下安装和卸载TDengine Database

记录一下Centos7系统下安装和卸载TDengine Database 安装TDengine Database 先看版本信息 [root192 ~]# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core) [root192 ~]# uname -r 3.10.0-1160.119.1.el7.x86_64 [root192 ~]# uname -a Linux 192.168.1.6 3.10…

Chrome 132 版本新特性

Chrome 132 版本新特性 一、Chrome 132 版本浏览器更新 1. 在 iOS 上使用 Google Lens 搜索 在 Chrome 132 版本中,开始在所有平台上推出这一功能。 1.1. 更新版本: Chrome 126 在 ChromeOS、Linux、Mac、Windows 上:在 1% 的稳定版用户…

SQL-杂记1

PIVOT的使用: 行转列IIF()的使用:IIF( boolean_expression, true_value, false_value)多个字段使用MX()函数 SELECTD.ID,字段1,字段2,字段3,字段4,字段5,X.MinDateValue FROM 表名 D WITH(NOLOCK) OUTER APPLY (SELECT MIN(DateValue) AS MinDateValueFROM (VALUES (字段1),(字…

Windows图形界面(GUI)-QT-C/C++ - QT 对话窗口

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 模态对话框 非模态对话框 文件对话框 基本概念 静态函数 常见属性 颜色对话框 基本概念 静态函数 常见属性 字体对话框 基本概念 静态函数 常见属性 输入对话框 基本概念 …

Python 电脑定时关机工具

Python 电脑定时关机工具 相关资源文件已经打包成EXE文件,可双击直接运行程序,且文章末尾已附上相关源码,以供大家学习交流,博主主页还有更多Python相关程序案例,秉着开源精神的想法,望大家喜欢&#xff0c…