Ansible的playbook介紹

ansbile-playbook是一系統(tǒng)ansible命令的集合,其利用yaml 語言編寫,運行過程,ansbile-playbook命令根據(jù)自上而下的順序依次執(zhí)行。同時,playbook開創(chuàng)了很多特性,它可以允許你傳輸某個命令的狀態(tài)到后面的指令,如你可以從一臺機器的文件中抓取內(nèi)容并附為變量,然后在另一臺機器中使用,這使得你可以實現(xiàn)一些復(fù)雜的部署機制,這是ansible命令無法實現(xiàn)的。

ansible-playbook的簡單使用方法: #ansible-playbook example-play.yml  [參數(shù)]

常用參數(shù):

-u REMOTE_USER :手工指定遠(yuǎn)程執(zhí)行playbook的系統(tǒng)用戶

--syntax-check :檢查playbook的語法

-T TIMEOUT :定義playbook執(zhí)行超時時間

--step:以單任務(wù)分步驟運行,方便做每一步的確認(rèn)工作

一個簡單的例子
[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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容