自动化运维利器ansible中的剧本--Playbook

Ansible Playbook是解决Ad-Hoc命令在复杂运维任务中的局限性,它是一门自定义语言,类似Linux的shell。Playbook采用YAML语法,包括字符串、列表、字典等数据结构。本文详细介绍了Playbook的编写,包括Play的定义、属性、任务的多种写法以及如何验证、运行和调试Playbook。
摘要由CSDN通过智能技术生成

一.Ad-Hoc的问题

学习AD-HOC,我们发现AD-HOC每次只能在被管理节点上执行简单的命令。在实际工作中面临一些复杂操作执行起来力不从心,所以ansible引入了Playbook在帮助解决这类的复杂问题。

二.Playbook是什么

Playbook通常被大家翻译成剧本
可以认为它是Ansible 自定义的一门语言(可以将 Playbook 比作 Linux 中的 shell,而 Ansible 中的 Module 可以比作为 Linux 中的各种命令。)

三.YAML

1.特点

  • 以 # 为注释符
  • 以 .yml 或者.yaml 结尾
  • 以 — 开始 , 以 … 结束, 但开始和结束标志都是可选的

2.基本语法

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时是使用Tab键还是使用空格一定要达到统一,建议使用空格。
  • 相同层级的元素必须左侧对齐即可
YAML支持的数据结构有三种
  • 字符串
  • 列表
  • 字典
2.1 字符串
 ---
#YAML 中的字符串可以不使用引号,即使里面存在空格的时候,当然了使用单引号和双引号也没有错。
 this is a string
 'this is a string'
 "this is a string"
#YAML 中若一行写不完你要表述的内容的时候,可以进行折行。写法如下: 
 long_line: |  		
       Example 1 		
       Example 2 		
       Example 3
 #或者 l
 ong_line: > 		 
            Example 1 		
            Example 2 		
            Example 3	 ...
2.2 列表
---
#若熟悉 Python 的话, 可以认为它就是Python中的List ,若熟悉 C 语言的话, 可以认为它是 C 中的数组。
#如何定义: 以短横线开头 + 空格 + 具体的值
- red
- green
- blue

#以上的值假如转换成 python 的 List 会是这样:
#['red', 'green', 'blue']
...
2.3 字典
---
#若熟悉 Python 的话, 可以认为它就是 Python 中的 Dict
#如何定义: key + 冒号(:) + 空格 + 值(value), 即 key: value

name: Using Ansible
code: D1234

#转换为 python 的 Dict
#{'name': 'Using Ansibel', 'code': 'D1234'}
...
2.4 混合结构

以上,针对YAML 的所有基础知识点就介

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值