- 『4-3』Linux之使用Ansible中的playbook
-
- 一.Playbook的功能
- 二.YAML
- 语法简介
- YAML 列表
- YAML的字典
- playbook执行命令
-
-
-
-
- `ansible-playbook xxx.yml ...`
- `ansible-playbook --check|-C` ##检测 预执行
- `ansible-playbook --syntax-check` ##check language![在这里插入图片描述](https://img-blog.csdnimg.cn/20210319095535716.png#pic_center)
- `ansible-playbook --list-hosts` ##列出hosts
- `ansible-playbook --list-tags `##列出tag
- `ansible-playbook --list-tasks` ##列出task
- `ansible-playbook --limit ` ##指定执行主机
- `ansible-playbook -v|-vv|-vvv|-vvvv` ##现实过程,最多四个v
-
-
-
- Playbook的核心组件
『4-3』Linux之使用Ansible中的playbook
一.Playbook的功能
playbook 是由一个或多个play组成的列表
Playbook 文件使用YAML来写的
二.YAML
简介
是一种表达资料序列的格式,类似XML
Yet Another Markup Language
2001年首次发表
www.yaml.org
特点
可读性好
和脚本语言交互性号
易于实现
适用程序执行流梳理方式
可扩展性强
语法简介
在文件中用[—]开始
在文件中用[…]结尾
次行一般书写文件内容
缩进严格
大小写敏感
key/value可以多行书写也可一行书写,一行书写用,隔开
value可以是个字符串,也可是list
一个play需要包括name和tasks
name 是描述
tasks 是动作
一个name只能包含一个task
扩展名称yml或者yaml
YAML 列表
[Linux,C++,Java,Python]
- Linux
- C++
- Java
- Python
YAML的字典
字典作用:存放键值
name:westos
age:12
jobs:linux
{name: "westos", age: "12", jobs: "linux"}
playbook执行命令
ansible-playbook xxx.yml ...
ansible-playbook --check|-C
##检测 预执行
ansible-playbook --syntax-check
##check language
ansible-playbook --list-hosts
##列出hosts
ansible-playbook --list-tags
##列出tag
ansible-playbook --list-tasks
##列出task
ansible-playbook --limit
##指定执行主机
在test.yml名单中
不在test.yml名单中
ansible-playbook -v|-vv|-vvv|-vvvv
##现实过程,最多四个v
Playbook的核心组件
name
#可选,建议使用多用于说明
hosts
#受控主机列表
tasks
#任务
#用与选择执行部分代码
基本示例#
---
- name: test play book
hosts: all
remote_user: root
tasks:
- name: check hosts
dnf:
name=httpd
state=latest
- name: start httpd
service:
name=httpd
state=started
enabled=yes
vim 设定技巧##
autocmd FileType yaml setlocal ai ts=2 sw=2 et
setlocal
##设定当前文件
ai
##自动对齐 auto indent
ts
##tab建长度为2空格 tabstop=2
sw
##缩进长度为2 shiftwidth=2
et
##把tab键变成空格 expandtab
set ci # 开启cindent
set noet # 关闭expandtab
set sw=4 # shiftwidth=4
与自动缩进相关的变量表
名称:(no)autoindent
缩写:ai
含义:自动缩进,即为新行自动添加与当前行同等的缩进。
名称:(no)cindent
缩写:ci
含义:类似C语言程序的缩进
名称:(no)smartindent
缩写:si
含义:基于autoindent的一些改进
与TAB相关的变量表
名称:tabstop=X
缩写:ts
含义:编辑时一个TAB字符占多少个空格的位置。
名称:shiftwidth=X
缩写:sw
含义:使用每层缩进的空格数。
名称:(no)expandtab
缩写:(no)et
含义:是否将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V<TAB>
名称:softtabstop=X
缩写:sts
含义:方便在开启了et后使用退格(backspace)键,每次退格将删除X个空格
名称:(no)smarttab
缩写:(no)sta
含义:开启时,在行首按TAB将加入sw个空格,否则加入ts个空格。```