Playbook 概述

Ansible ad-hoc 可以通过命令行形式远程管理其他主机

  • 适合执行一些临时性简单任务

Ansible playbook 中文名称叫 剧本

  • 将经常需要执行的任务写入一个文件(剧本)
  • 剧本中可以包含多个任务
  • 剧本写好后,我们随时调用剧本,执行相关的任务名称
  • playbook 剧本要求按照YAML格式编写
  • 适合执行周期性经常执行的复杂任务

可以根据 ansible-doc查看对应模块的帮助手册,帮助信息中有playbook的写法案例、

YAML

  • 是一个可读性高、用来表达数据序列的格式语言
  • YAML:YAML Ain't Markup Language
  • YAML 以数据为中心,重点描述数据的关系和结构

YAML格式

  • "#" 代表注释,一般第一行为三个横杠
  • 键值对使用":"表示(冒号后面必须有空格),数组使用"-"表示
  • 缩进必须由两个或以上空格组成(缩进代表层级关系)
  • 相同层级的缩进必须对齐
  • 全文不可以使用tab键
  • 区分大小写、扩展名为yml或者yaml
  • 跨行数据需要使用>或者||会保留换行符)
--- #动漫
- "航海王":
- "路飞"
- "索隆"
- "火影忍者":
- "鸣人"
- "佐助"

跨行数据

--- #跨行文本(计算机理解为一行)
自我介绍: >
字太白,号青莲居士,
唐代诗人,祖籍陇西郡,
今甘肃省平凉市
--- #跨行文本(计算机理解为多行)
自我介绍: |
字太白,号青莲居士,
唐代诗人,祖籍陇西郡,
今甘肃省平凉市

综合示例

--- #一张发票
发票编号: 34843
日期: 2028-12-12
商品:
- 商品编号: BL394D
描述: 足球
价格: 100
- 商品编号: BL4438H
描述: 棒球
价格: 200
税费: 10.00
总价: 310.00
备注: >
本次采购商品均
属于球类运动商品
---   #错误日志
时间: 2028-10-01 15:01:42
用户: ed
错误信息:
- 文件: nginx.conf
行号: 23
错误编码: "0x3D5FF1"
- 文件: test.php
行号: 12
错误代码: "0xA4C51E"
警告信息: |
你有两个错误信息需要查看,
一条是配置文件错误,
一条是脚本语法错误,
具体内容参考错误信息.

Playbook 语法格式

  • playbook采用YAML格式编写
  • playbook文件中由一个或多个play组成
  • 每个play中可以包含
    • hosts(主机)、tasks(任务)
    • variables(变量)、roles(角色)、handlers等元素组成
  • 使用ansible-playbook命令运行playbook剧本:ansible-playbook xxx.yml [-f 5]
  • hosts由一个或多个组或主机组成,逗号分隔
  • tasks由一个或多个任务组成,多个任务按顺序执行
  • 可以使用 -f 选项自定义并发量

Playbook 案例

1、配置一个可以ping所有主机的playbook,并调用。

2、ping + 创建文件

3、删除文件

4、一个playbook可以包含多个play

5、编写playbook创建系统账户、账户属性、设置密码

花括号外面必须有双引号

6、编写playbook删除系统账户johnd

7、使用vdb创建卷组和逻辑卷(手动添加虚拟磁盘)

执行结果

8、安装软件、升级软件、安装组包

修改 vim 配置

使用2个空格自动替换tab键:tabstop=2、expandtab

开启自动缩进对齐,缩进宽度为2个空格:shiftwidth=2

(END)

Ansible - [06] Playbook的更多相关文章

  1. Ansible进阶--playbook的使用

    一.什么是playbooksplaybooks是ansible的脚本.如同shell脚本一样,它是控制远程主机的一系列命令的集合,通过YAML语言编写.执行一些简单的任务,我们可以使用ad-hoc命令 ...

  2. ansible基础-playbook剧本的使用

    ansible基础-playbook剧本的使用 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.YAML概述 1>.YAML的诞生 YAML是一个可读性高,用来表达数据序 ...

  3. Ansible之playbook的使用总结 - 运维笔记

    之前详细介绍了Ansible的安装, 配置, 以及Ansible常用模块的使用. 下面对Ansible的playbook用法做一小结. 为什么引入playbook?一般运维人员完成一个任务, 比如安装 ...

  4. ansible学习-playbook的YAML语法

    [一篇非常好的ansible参考博文] 初识Ansible http://liumissyou.blog.51cto.com/4828343/1616462 --------------------- ...

  5. 自动化运维工具——ansible剧本playbook(三)

    一.Playbook--Ansible剧本 playbook是由一个或多个 "play"组成的列表 play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的ta ...

  6. Ansible基于playbook批量修改主机名实战

    Ansible基于playbook批量修改主机名 安装Ansible,相信这里也不用多说,大家都知道 说一下环境:这里的主机名是修改之后的,我先把其他两台的主机名改为别的 192.168.30.21 ...

  7. 利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群

    首先在华为云上购买搭建ceph集群所需云主机: 然后购买ceph所需存储磁盘 将购买的磁盘挂载到用来搭建ceph的云主机上 在跳板机上安装ansible 查看ansible版本,检验ansible是否 ...

  8. 利用ansible书写playbook搭建HAProxy+Keepalived+PXC负载均衡和高可用的PXC环境续

    ansible.playbook.haproxy.keepalived.PXC haproxy+keepalived双主模式调度pxc集群 HAProxy介绍 反向代理服务器,支持双机热备支持虚拟主机 ...

  9. Ansible 和 Playbook 暂存

    Ansible  和  Playbook 暂存 , 也是一个批量管理工具 自动化的批量管理工具 主机清单  HOST Inventory 模块插件  Playbooks 查看ansible的目录结构 ...

  10. ansible使用playbook的简单例子(ansible2.9.7)

    一,ansible使用playbook的优点 1,用ansible执行一些简单的任务,使用ad-hoc命令就可以解决问题 如果执行复杂的功能,需要大量的操作,执行的ad-hoc命令会不够方便,这时我们 ...

随机推荐

  1. flutter问题汇总

    Text文字居中 Text(           'You will need to post a photo before you can play!',           textAlign:  ...

  2. DSL 和 reactive 噩梦

    Kotlin 之美-DSL篇 - 掘金 像 Compose 那样写代码 :Kotlin DSL 原理与实战_fundroid_方卓的博客-CSDN博客 先找好一个靶子: val yesterday = ...

  3. 【Web前端】【疑难杂症】轮播图图片自适应显示问题(bootstrap3轮播图)

    关键代码 html <!-- 轮播图开始--> <div id="header" class="carousel slide"> < ...

  4. sed 删除 替换 文件内容

      sed添加一行内容 使用sed命令添加一行内容有多种实现方法,下面是几种不同的实现方法: 方法一:使用sed命令在指定行前添加一行内容     sed '2i This is a new line ...

  5. Qt开发经验小技巧211-215

    QMainWindow 在对停靠窗体进行排列的时候,有些不常用的设置容易遗忘,建议将 QMainWindow 的头文件函数过一遍一目了然. //设置停靠参数,不允许重叠,只允许拖动 this-> ...

  6. Qt音视频开发49-通用截图截屏

    一.前言 采用了回调方式的视频通道,截图只需要对解析好的QImage对象直接保存即可,而对于句柄的形式,需要调用不同的处理策略,比如vlc需要用它自己提供的api接口函数libvlc_video_ta ...

  7. 问题:Opencv(3.1.0/3.4)找不到 /opencv2/gpu/gpu.hpp 问题

    解决:Opencv(3.1.0/3.4/4.1.0)找不到 /opencv2/gpu/gpu.hpp 问题 环境: 系统:Win10 环境:Opencv3.4.0/4.1.0 显卡:1080ti 问题 ...

  8. Pycharm IDE中导入和移除python项目

    1.Pycharm导入python项目 进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹: 打开了python项目后,需要配置该项目对应的python才可以正常运行: ...

  9. 使用Docker部署的基于binlog实现Mysql8

    概念 MySQL 基于 Binlog 的主从复制(Master-Slave Replication)是 MySQL 数据库中实现数据复制的一种机制.在这种复制模式下,主库(Master)记录所有对数据 ...

  10. Solution Set - “让朝阳洒向晚霞,在星空下涂鸦”

    目录 0.「UR #12」「UOJ #182」a^-1 + b problem 1.「NOI Simu.」点 2.「集训队互测 2023」「QOJ #5100」卡牌游戏 3.「NOI Simu.」简单 ...