一、劇本檔案組成部分:
劇本的角色(play), 定義的是主機資訊
劇本的任務(task), 定義的是具體任務
playbook組成部分:
1) 乙個playbook有多個play組成
2) 乙個play可以包含多個task任務
3) 簡單理解為使用多個模組功能完成一件事
二、劇本檔案優勢特點
1)實現自動化功能更加全面
2)可以更好的控制邏輯關係
3)劇本展現命令語法更直觀
4)擁有持久反覆執行的特性
三、劇本檔案編寫規範
利用yaml語法編寫
空格的用法: 劇本**現縮排資訊時, 利用縮排表示劇本中不同的層級關係
冒號的用法: 劇本**現冒號資訊時, 利用冒號定義具體資訊,並且冒號後面要有空格,結尾除外
短橫線用法: 劇本**現列表資訊時, 多個項使用同樣的縮排級別作為同一列表
四、劇本執行使用方法
1)檢查劇本語法: ansible-playbook --syntax-check test.yml
2)劇本模擬執行: ansible-playbook -c test.yml
3)劇本真實執行: ansible-playbook test.yml
4)識別主機清單: ansible-playbook -i /etc/ansible/hosts_rsync test.yaml
五、劇本編寫特殊功能
1) playbook的變數:
重複資訊可以設定變數方便呼叫調整
定義變數的方法說明:
01.在劇本檔案中進行定義 vars
02. 利用執行引數賦值變數 --extra-vars
03. 單獨在乙個檔案中定義 /etc/ansible/hosts
04. 採用註冊方式定義變數 register: 利用debug模組呼叫註冊的變數資訊
2)playbook的判斷: when
對操作管理的主機資訊進行判斷, 需要利用setup模組獲取內建變數進行判斷
3)playbook的迴圈: with_items
定義完成多件相同任務可以迴圈
4)playbook的標籤: tags
劇本中多個任務可以靈活的執行
5)playbook觸發器: handlers
劇本完成什麼操作就觸發相應操作
6)playbook忽略錯誤: ignore_errors: yes
可以忽略一些小錯誤
7)playbook動態包含: include-tasks
六、演示
1、編寫劇本test01.yaml
注:name: 是注釋
2、檢查語法
注:紫色部分先忽略,最後一行顯示語法沒問題
3、模擬執行
4、真正執行
5、僅僅執行指定任務tags:t2
6、跳過tags: t2 t3執行t1
7、一鍵化部署rsync服務
執行:注:檢視幫助,官網檢視慢,可參照以下
ansible-doc -l ---------------------列出模組使用簡介
ansible-doc -s 模組名 ------------ 指定乙個模組詳細說明
ansible-doc 模組名 ---------------- 查詢模組在劇本中應用方法
ansible 劇本高階 角色
ansible cache m setup ansible all ipv4 addresses ipv4的所有位址 ansible all ipv6 addresses ipv6的所有位址 ansible date time 獲取到控制節點時間 ansible default ipv4 預設的ip...
ansible模組簡介
以上鏈結是詳細介紹 一 copy模組 把主控端檔案拷貝到指定節點上 ansible 主機名 m copy a src 原路徑 dest 目標路徑 二 file模組 目的 更改指定節點檔案屬性 ansible 主機名file a dest 目標路徑 mode 755 其中mode是修改目標路徑的屬性 ...
Ansible簡介與安裝
當我們在部署多台伺服器軟體環境的時候,10臺機器以內我們還可以自己每台都去布置一下,但是當需要部署的機器繼續增多的時候比如 30臺,40臺,甚至上百臺的時候。每台都去乙個乙個布置就不太現實了,而且這樣做也顯得很沒有技術含量。運維工程師一般會通過一寫自動化運維工具去做這些事情。一些 常用的自動化運維工...