Ansible是近幾年出現的新的自動化運維工具,可以對機群進行軟體安裝、配置和應用部署。本書涵蓋Ansible中的精華,側重於實戰,全書程式碼均實測過,是一本不可多得的Ansible入門書。
本書以新的自動化運維工具Ansible為主要內容,側重於實戰,由淺入深地介紹Ansible以及周邊產品Ansible Galaxy和Ansible Tower的用法。
全書共計6章,前4章由淺及深、層層遞進地介紹Ansible的使用方法。第5章著重介紹Ansible的代碼分享機制role以及其分享平台Ansible Galaxy。第6章概括性地介紹企業級軟體Ansible Tower。
全書的敘述風格通俗易懂,沒有過多地引入複雜的概念,側重於講解原理,立足於實戰,引領Ansible新手輕鬆入門。
作者簡介:
史晶晶
資深軟體工程師,目前在紅帽軟體從事Linux與雲平台的工具開發工作。
作者序
前言
✤ 內容介紹
Ansible 是對機群進行軟體安裝、設定和應用部署的自動化工具。自2012 年Ansible 出現後,以其使用簡單、功能實用等特點獲得了廣泛關注,成為自動化運行維護工具中的冉冉新星。僅三年後就被紅帽(Red
Hat)公司收購,目前受到許多軟體公司的關注、推廣和使用。自動化部署無論對系統管理員還是對軟體開發人員來說,都會減少重複的手動操作,加強部署效率。Ansible 作為學習成本小、學習路徑短的一款工具,更是值得了解和使用。
作為一本Ansible 入門書籍,讀者只需對Linux 有最基本的了解就可以輕鬆讀懂本書。
本書的內容共計6 章,分為以下三個部分:
■ 第一部分 Ansible 基本工具的說明(第1 章∼第4 章)
本書首先介紹了Ansible 架構,然後說明了Ansible 的主要概念,接著又介紹了一些實際使用方法,步步遞進、層層深入地介紹了Ansible 的相關知識。
第4 章對前面3 章中的知識細節進行了補充,以便讀者能夠深入了解Ansible 的基本使用方法。
■ 第二部分 role 和衍生工具Ansible Galaxy 的介紹(第5 章)
role 是Ansible 最為推薦的重用程式的方式, 並為其開發了AnsibleGalaxy 程式分享網站。但因其概念較為複雜,所以對其單獨說明。
■ 第三部分 企業級收費軟體Ansible Tower 介紹(第6 章)
企業級使用者面臨著更加複雜的應用環境和更高的安全要求,AnsibleTower 就是一款解決企業級使用者難題的收費軟體。
✤ 程式的執行環境
建議讀者安裝Linux 虛擬機器作為Ansible 的管理節點來測試本書中的程式。Ansible 目前已被紅帽公司收購,對Red Hat Linux 系統的支援較為增強,建議讀者最好選擇Red Hat Linux 7 或CentOS 7。
✤ 排版約定
為了讓讀者能快速把握到程式的重點,本書中程式的重要部分用粗體字型表示強調。
✤ 勘誤資訊
筆者對本書中所有的程式都進行了完整的測試,書中的文字也經過了反覆的斟酌。儘管如此,由於時間緊迫且作者水準有限,錯誤和疏漏難以避免,還需要讀者們的回饋和修訂,以使得本書更加增強。因此,如果您發現書中的任何錯誤,小到錯別字,大到程式執行錯誤,都希望您能及時回饋。您的任何一次勘誤,都會令筆者和其他讀者受益,再次表示感謝。
勘誤地址:
https://github.com/ansible-book/errata
或
http://getansible.com/reference/errata
回饋勘誤方法:
提問題到Github 專案上:https://github.com/ansible-book/errata
發郵件給筆者:shijingjing02@163.com
✤ 致謝
感謝同組(Labs 和Insights)的同事對本書早期版本的肯定,使我受到鼓舞,有信心編輯成冊。感謝我的經理趙東在公司內部推廣宣傳,感謝周兆林(Jaylin)對早期程式仔細認真的測試,感謝傅煒(網名:
Tekkaman Ninja)多次對文字提出大量的修改建議。
這是筆者第一次寫書,在寫書的過程中耗費了大量的時間和精力,若是沒有家人的鼎力支援,這本書根本無法完成。尤其感謝老公為我分擔了懷孕和育兒的大量研究工作,使我能夠有時間投入本書的寫作中。
本書的後期寫作和修訂正值我懷孕分娩前後,時間上難免拖拉,感謝本書的編輯安娜對我的了解和支援。
前言
✤ 內容介紹
Ansible 是對機群進行軟體安裝、設定和應用部署的自動化工具。自2012 年Ansible 出現後,以其使用簡單、功能實用等特點獲得了廣泛關注,成為自動化運行維護工具中的冉冉新星。僅三年後就被紅帽(Red
Hat)公司收購,目前受到許多軟體公司的關注、推廣和使用。自動化部署無論對系統管理員還是對軟體開發人員來說,都會減少重複的手動操作,加強部署效率。Ansible 作為學習成本小、學習路徑短的一款工具,更是值得了解和使用。
作為一本Ansible 入門書籍,讀者只需對Linux 有最基本的了解就可以輕鬆讀懂本書。
本書的內...
目錄
前言
01 Ansible 介紹
1.1 Ansible 介紹
1.2 Ansible 解決了什麼運行維護痛點
1.3 架構
02 Ansible 入門
2.1 安裝Ansible
2.2 Ansible 管理哪些主機
2.3 Ansible 用指令管理主機
2.4 Ansible 用指令稿管理主機
2.5 Ansible 模組
03 Ansible 進階
3.1 Ansible 的設定
3.2 主機清單
3.3 Ansible 的指令稿Playbook
3.4 更多的Ansible 模組
3.5 最佳使用方法
04 Ansible Playbook 雜談
4.1 再談Ansible 變數
4.2 使用lookup 存取外部檔案或資料庫中的資料
4.3 篩檢程式
4.4 測試變數或運算式是否符合條件
4.5 認識外掛程式
05 role 和Ansible Galaxy
5.1 role 和Ansible Galaxy 的簡介
5.2 role 的放置位置
5.3 在Playbook 中如何呼叫role
5.4 如何寫role
5.5 role 的依賴
5.6 Ansible Galaxy 網站介紹
5.7 示範role 的建立和分享
06 Ansible Tower
6.1 為什麼要用Ansible Tower
6.2 如何使用Ansible Tower
6.3 與協力廠商平台的整合
A 參考資料
前言
01 Ansible 介紹
1.1 Ansible 介紹
1.2 Ansible 解決了什麼運行維護痛點
1.3 架構
02 Ansible 入門
2.1 安裝Ansible
2.2 Ansible 管理哪些主機
2.3 Ansible 用指令管理主機
2.4 Ansible 用指令稿管理主機
2.5 Ansible 模組
03 Ansible 進階
3.1 Ansible 的設定
3.2 主機清單
3.3 Ansible 的指令稿Playbook
3.4 更多的Ansible 模組
3.5 最佳使用方法
04 Ansible Playbook 雜談
4.1 再談Ansible 變數
4.2 使用lookup 存取外部檔案或資料庫中的資料
4.3 篩檢程式
4.4 測試變數或運算式是否符合條件
4.5 認識外掛程式...