目录
一.什么是playbook
简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。Playbook可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式。值得注意的是playbook是通过YAML格式来进行描述定义的。
二.YAML
YAML是一个可读性高,用来表达数据序列化的格式.(2001年发表)
特点:
可读性好,和脚本语言交互性好 |
易于实现 |
适用于程序执行流梳理方式 |
可扩展性强 |
三.语法简介
开始 ---
结束...
中间书写文件内容,大小写敏感,缩进严格
一个play需要包括name和tasks
name是描述,tasks是动作
一个name只能包含一个tasks
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 ...
编写yml文件
- name:
hosts: westos
tasks:
- name: check hosts
dnf:
name: httpd
state: present
检查语言格式
ansible-playbook test.yml --syntax
检测能否运行 或者-C
ansible-playbook test.yml --check
列出hosts,tags,tasks
ansible-playbook test.yml --list-hosts
ansible-playbook test.yml --list-tags
ansible-playbook test.yml --list-tasks
指定执行主机
ansible-playbook test.yml --limit 172.25.254.200
-v -vv -vvv 显示过程
五.playbook的核心
name | 可选,建议使用多与说明 |
hosts | 受控主机列表 |
tasks | 任务 用于选择执行部分代码 |
六.设定格式技巧
主要是缩进~/.vimrc
autocmd FileType yaml set ai ts=2 sw=2 et
set 设定 setlocal设定当前
ai自动退格对齐
ts tab键长等于2空格
sw 缩进长度为2空格
et 把tab变为空格