Ansible - [06] Playbook
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的更多相关文章
- Ansible进阶--playbook的使用
一.什么是playbooksplaybooks是ansible的脚本.如同shell脚本一样,它是控制远程主机的一系列命令的集合,通过YAML语言编写.执行一些简单的任务,我们可以使用ad-hoc命令 ...
- ansible基础-playbook剧本的使用
ansible基础-playbook剧本的使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.YAML概述 1>.YAML的诞生 YAML是一个可读性高,用来表达数据序 ...
- Ansible之playbook的使用总结 - 运维笔记
之前详细介绍了Ansible的安装, 配置, 以及Ansible常用模块的使用. 下面对Ansible的playbook用法做一小结. 为什么引入playbook?一般运维人员完成一个任务, 比如安装 ...
- ansible学习-playbook的YAML语法
[一篇非常好的ansible参考博文] 初识Ansible http://liumissyou.blog.51cto.com/4828343/1616462 --------------------- ...
- 自动化运维工具——ansible剧本playbook(三)
一.Playbook--Ansible剧本 playbook是由一个或多个 "play"组成的列表 play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的ta ...
- Ansible基于playbook批量修改主机名实战
Ansible基于playbook批量修改主机名 安装Ansible,相信这里也不用多说,大家都知道 说一下环境:这里的主机名是修改之后的,我先把其他两台的主机名改为别的 192.168.30.21 ...
- 利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群
首先在华为云上购买搭建ceph集群所需云主机: 然后购买ceph所需存储磁盘 将购买的磁盘挂载到用来搭建ceph的云主机上 在跳板机上安装ansible 查看ansible版本,检验ansible是否 ...
- 利用ansible书写playbook搭建HAProxy+Keepalived+PXC负载均衡和高可用的PXC环境续
ansible.playbook.haproxy.keepalived.PXC haproxy+keepalived双主模式调度pxc集群 HAProxy介绍 反向代理服务器,支持双机热备支持虚拟主机 ...
- Ansible 和 Playbook 暂存
Ansible 和 Playbook 暂存 , 也是一个批量管理工具 自动化的批量管理工具 主机清单 HOST Inventory 模块插件 Playbooks 查看ansible的目录结构 ...
- ansible使用playbook的简单例子(ansible2.9.7)
一,ansible使用playbook的优点 1,用ansible执行一些简单的任务,使用ad-hoc命令就可以解决问题 如果执行复杂的功能,需要大量的操作,执行的ad-hoc命令会不够方便,这时我们 ...
随机推荐
- HttpClientFactory in ASP.NET Core 2.1 Part 1 介绍
HttpClientFactory in ASP.NET Core 2.1 Part 1 原文地址:https://www.stevejgordon.co.uk/introduction-to-htt ...
- git clone 指定 ssh-key 文件
环境 & 软件 mac OS 问题 git clone 不是默认 ssh-key,无法克隆 解决方法 用ssh-add命令将对应的私钥加入到缓存 // ssh-add 自定义名称 // 例子 ...
- 【shell】远程执行shell|多节点并行执行shell|远程执行注意
目录 前提条件 shell远程执行 多节点上并行执行命令的三种方法 方法1 使用bash执行命令 方法2 使用clustershell执行命令--还能收集结果 方法3 使用pdsh 执行命令 远程执行 ...
- AOP-Redis缓存
我没有单独使用过Redis,细节我可能解释不到位.该文章是采用依赖注入实现AOP-Redis缓存功能的 . 之前有写实现Memory缓存的.异曲同工之妙. 使用Redis离不开安装get包:Stack ...
- 主动式AI(代理式)与生成式AI的关键差异与影响
大型语言模型(LLMs)如GPT可以生成文本.回答问题并协助完成许多任务.然而,它们是被动的,这意味着它们仅根据已学到的模式对接收到的输入作出响应.LLMs无法自行决策:除此之外,它们无法规划或适应变 ...
- [转]CFLAGS、CXXFLAGS、FFLAGS、FCFLAGS、LDFLAGS、LD_LIBRARY_PATH区别
CFLAGS.CXXFLAGS.FFLAGS.FCFLAGS.LDFLAGS.LD_LIBRARY_PATH区别 Linux笔记之LD_LIBRARY_PATH详解 翻译 搜索 复制
- IM跨平台技术学习(九):全面解密新QQ桌面版的Electron内存优化实践
本文由QQ技术团队分享,本文收录时有内容修订和大量排版优化. 1.引言 QQ 作为国民级应用,从互联网兴起就一直陪伴着大家,是很多用户刚接触互联网就开始使用的应用. 而 QQ 桌面版最近一次技术架构升 ...
- 跟着源码学IM(十一):一套基于Netty的分布式高可用IM详细设计与实现(有源码)
本文由will分享,个人博客zhangyaoo.github.io,原题"基于Netty的IM系统设计与实现",有修订和重新排版. 1.引言 本文将要分享的是如何从零实现一套基于N ...
- Python多分类Logistic回归详解与实践
在机器学习中,Logistic回归是一种基本但非常有效的分类算法.它不仅可以用于二分类问题,还可以扩展应用于多分类问题.本文将详细介绍如何使用Python实现一个多分类的Logistic回归模型,并给 ...
- x86平台SIMD编程入门(5):提示与技巧
1.提示与技巧 访问内存的成本非常高,一次缓存未命中可能会耗费100~300个周期.L3缓存加载需要40~50个周期,L2缓存大约需要10个周期,即使L1缓存的访问速度也明显慢于寄存器.所以要尽量保持 ...