Ansible playbook的使用
1.playbook的介绍
- playbooks是 一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活。简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。Playbook可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式。值得注意的是playbook是通过YAML格式来进行描述定义的。
2.playbook基础组件
- Hosts:运行执行任务(task)的目标主机
- remote_user:在远程主机上执行任务的用户
- tasks:任务列表
- handlers:任务,与tasks不同的是只有在接受到通知时才会被触发
- templates:使用模板语言的文本文件
- variables:变量,变量替换
3.YAML语法
- 使用缩进来表示层级;
- 只能使用空格缩进,禁止使用Tab缩进;
- 对字母大小写敏感;
- 可以使用—来标记开头,使用…来标记结尾;
- 使用#表示注释内容;
- 字符串可以不用引号标注;
- 针对不同数据类型有特定标记模型(后面会用实例演示)
4.playbook实例
//使用playbook创建一个用户 指定他的uid是2002
[root@localhost ~]
[root@localhost opt]
ansible.cfg inventory playbook
[root@localhost opt]
[root@localhost playbook]
[root@localhost playbook]
user.yml
[root@localhost playbook]
---
- hosts: httpd
tasks:
- name: create user xym
user:
name: xym
uid: 2002
state: present
//运行playbook
[root@localhost opt]
PLAY [httpd] *******************************************************************
TASK [Gathering Facts] *********************************************************
ok: [192.168.200.147]
TASK [create user xym] *********************************************************
changed: