ansible使用playbook剧本

目录

一、执行配置文件

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脚本

ansible使用playbook剧本_第1张图片

 

---
- 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命令

你可能感兴趣的:(ansible,linux,运维)