ansible劇本編寫簡介

2021-10-06 03:32:53 字數 2470 閱讀 1240

一、劇本檔案組成部分:

劇本的角色(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臺,甚至上百臺的時候。每台都去乙個乙個布置就不太現實了,而且這樣做也顯得很沒有技術含量。運維工程師一般會通過一寫自動化運維工具去做這些事情。一些 常用的自動化運維工...