Ansible的playbook介绍

ansbile-playbook是一系统ansible命令的集合,其利用yaml 语言编写,运行过程,ansbile-playbook命令根据自上而下的顺序依次执行。同时,playbook开创了很多特性,它可以允许你传输某个命令的状态到后面的指令,如你可以从一台机器的文件中抓取内容并附为变量,然后在另一台机器中使用,这使得你可以实现一些复杂的部署机制,这是ansible命令无法实现的。

ansible-playbook的简单使用方法: #ansible-playbook example-play.yml  [参数]

常用参数:

-u REMOTE_USER :手工指定远程执行playbook的系统用户

--syntax-check :检查playbook的语法

-T TIMEOUT :定义playbook执行超时时间

--step:以单任务分步骤运行,方便做每一步的确认工作

一个简单的例子
[root@www ansible]# ls
test.yml
[root@www ansible]# vim test.yml

  • name: create user
    hosts: all
    user: root
    gather_facts: false
    vars:
    • user: "test"
      tasks:
    • name: create fuchao
      user: name="{{ fuchao }}"

测试:

[root@www ansible]# ansible-playbook test.yml

PLAY [create user] ************************************************************

TASK: [create user] **********************************************************
changed: [192.168.1.144]
changed: [192.168.1.145]
fatal: [10.25.1.56] => {'msg': 'FAILED: timed out', 'failed': True}
fatal: [db01.intranet.mydomain.net] => {'msg': 'FAILED: timed out', 'failed': True}
fatal: [db02.intranet.mydomain.net] => {'msg': 'FAILED: timed out', 'failed': True}
fatal: [10.25.1.57] => {'msg': 'FAILED: timed out', 'failed': True}

PLAY RECAP ********************************************************************
to retry, use: --limit @/root/test.retry

10.25.1.56 : ok=0 changed=0 unreachable=1 failed=0
10.25.1.57 : ok=0 changed=0 unreachable=1 failed=0
192.168.1.144 : ok=1 changed=1 unreachable=0 failed=0
192.168.1.145 : ok=1 changed=1 unreachable=0 failed=0
db01.intranet.mydomain.net : ok=0 changed=0 unreachable=1 failed=0
db02.intranet.mydomain.net : ok=0 changed=0 unreachable=1 failed=0

你可能感兴趣的:(Ansible的playbook介绍)