溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ansible-playbook 使用詳解

發(fā)布時間:2020-06-28 22:27:38 來源:網(wǎng)絡(luò) 閱讀:6579 作者:hello_cjq 欄目:開發(fā)技術(shù)

1.  playbook參數(shù)詳解:

hosts:hosts 用于指定要執(zhí)行指定任務(wù)的主機(jī)其可以是一個或多個由冒號分隔主機(jī)組。
user:root     指定遠(yuǎn)程主機(jī)上執(zhí)行任務(wù)的用戶
remote_user:root
vars:變量
tasks:任務(wù)
  - name:描述
module:options
如:serverice name=httpd state=running
 shell:/sbin/setenforce 0
handlers:觸發(fā)條件
files:文件賦權(quán)
template:模板


tags 用于讓用戶選擇運行或略過playbook中的部分代碼。ansible具有冪等性因此會自動跳過沒有變化的部分即便如此有些代碼為測試其確實沒有發(fā)生變化的時間依然會非常地長。

此時如果確信其沒有變化就可以通過tags跳過此些代碼片斷。


循環(huán):

循環(huán)with_items:
---
- hosts: testhost
 user: root
 tasks:
   - name: change mod for file
     file: path=/tmp/{{ item }} mode=600 owner=root group=root
     with_items:
       - 1.txt
       - 2.txt
- 3.txt



條件判斷使用handlers模塊:

---
- hosts: testhost
 remote_user: root
 tasks:
   - name: test copy
     copy: src=/tmp/1.txt dest=/tmp/2.txt
     notify: test handlers   
 handlers:
   - name: test handlers
    shell: echo "111111" >> /tmp/2.txt

如果要使用handlers模塊,則需要調(diào)用notify: test handlers是handlers模塊的name,要保持一致。

ansible-playbook 使用詳解

從ansible主上拷貝1.txt到遠(yuǎn)程服務(wù)器2.txt,只有到copy完成了,才會執(zhí)行handlers。


條件判斷條件when:

---
- hosts: testhost
 remote_user: root
 gather_facts: True
 tasks:
   - name: use when
     shell: touch /tmp/when.txt
     when: ansible_system_vendor == "IBM"

注意變量要寫對,不能寫數(shù)組,數(shù)組的要注意.

cat /tmp/when.yml :

ansible-playbook 使用詳解






向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI