当前位置: 首页 > article >正文

2、ansible的playbook

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.kler.cn/a/512389.html

相关文章:

  • Data Filtering Network 论文阅读和理解
  • 【LeetCode100】--- 寻找重复数
  • 大模型最新研究进展分析(市场规模、行业应用、技术趋势、当前挑战)
  • MySQL表的增删改查(基础)CRUD
  • 奉加微PHY6230兼容性:部分手机不兼容
  • Cloud Foundry,K8S,Mesos Marathon弹性扩缩容特性对比
  • MongoDB文档查询
  • PyTorch使用教程(11)-cuda的使用方法
  • Skeleton 骨架屏
  • 【漫话机器学习系列】051.错误类型(Error Type)
  • kafka 学习笔记3-传统部署Kraft模式集群——筑梦之路
  • git 常见问题
  • MYSQL 5.7数据库,关于1067报错 invalid default value for,解决方法!
  • 微服务学习-快速搭建
  • c#实现当捕获异常时自动重启程序
  • 抖音小程序一键获取手机号
  • 博客搭建 — Algolia DocSearch 实现站点搜索
  • IS-IS 知识点回顾 | 数据包泛洪控制 | SRM SSN
  • 文本摘要研究:从统计方法到大型语言模型
  • jenkins-api操作
  • 使用AI生成金融时间序列数据:解决股市场的数据稀缺问题并提升信噪比
  • Java 日志技术、Logback日志框架、日志级别
  • 使用vue-next-admin框架后台修改动态路由
  • easy_Maze
  • 数据库的DQL(3)
  • 【18】Word:明华中学-儿童医保❗