目录
一、执行配置文件
1、修改hosts文件
2、编写yml脚本
3、语法检查[root@ansible ~] ansible-playbook --syntax-check ansible.yml
4、预测试
5、执行命令
一、执行配置文件
Playbook配置文件使用YAML语法,具有简介明了,结构清晰等特点。Playbook配置文件类似于shell脚本,是一个YAML格式的文件,用于保存针对特定需求的任务列表,前面介绍的ansible命令虽然可以完成各种任务,但是当配置一系列任务时,逐条输入命令就显得效率非常低下,更有效的方式在playbook配置中配置所有的任务代码,利用ansible-playbook命令执行该文件,可以实现自动化运维,YAML文件的扩展名通常为.yaml或.yml。
YAML语法和其他高级语言类似,其结构通过缩进来展示,通过“-”来代表选项,通过冒号“:”来分隔键和值。整个文件以“---”开始并以“…”结束,如下所示。
1、修改hosts文件
[root@ansible ~] vim /etc/ansible/hosts
[test1]
192.168.1.133
[test2]
192.168.1.134
2、编写yml脚本
---
- hosts:test1
remote_user: root
tasks:
- name: adduser
user: name=user2 state=present
tags:
- testa
- name: addgroup
group: name=tests system=yes
tags:
- testb
- hosts: test2
remote_user: root
tasks:
- name: crfile
copy: src=/etc/passwd dest=/home
tags:
- testc
...
3、语法检查
[root@ansible ~] ansible-playbook --syntax-check ansible.yml
playbook: ansible.yml #没有报错
4、预测试
[root@ansible ~] ansible-playbook -C ansible.yml
PLAY [test1] **********************************************************************************
TASK [Gathering Facts] ************************************************************************
ok: [192.168.1.133]
TASK [adduser] ********************************************************************************
changed: [192.168.1.133]
TASK [addgroup] *******************************************************************************
changed: [192.168.1.133]
PLAY [test2] **********************************************************************************
TASK [Gathering Facts] ************************************************************************
ok: [192.168.1.134]
TASK [crfile] *********************************************************************************
changed: [192.168.1.134]
PLAY RECAP ************************************************************************************
192.168.1.133 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.1.134 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
5、执行命令
[root@ansible ~] ansible-playbook ansible.yml
PLAY [test1] **********************************************************************************
TASK [Gathering Facts] ************************************************************************
ok: [192.168.1.133]
TASK [adduser] ********************************************************************************
changed: [192.168.1.133]
TASK [addgroup] *******************************************************************************
changed: [192.168.1.133]
PLAY [test2] **********************************************************************************
TASK [Gathering Facts] ************************************************************************
ok: [192.168.1.134]
TASK [crfile] *********************************************************************************
changed: [192.168.1.134]
PLAY RECAP ************************************************************************************
192.168.1.133 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.1.134 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
通常情况下会先执行ansible-playbook -C /PATH/TO/PLAYBOOK.yml命令进行测试,测试没问题后再执行ansible-playbook /PATH/TO/PLAYBOOK.yml命令