Ansible 快速入門 : 技術原理與實戰
內容描述
內容簡介
本書以新的自動化運維工具Ansible為主要內容,側重於實戰,由淺入深地介紹了Ansible以及周邊產品Ansible Galaxy和Ansible Tower的用法。本書共計6章,前4章由淺及深、層層遞進地介紹了Ansible的使用方法。第5章著重介紹了Ansible的代碼分享機制role以及其分享平臺Ansible Galaxy。第6章概括性地介紹了企業級軟件Ansible Tower。全書的敘述風格通俗易懂,沒有過多地引入復雜的概念,側重於講解原理,立足於實戰,引領Ansible新手輕松入門。
編輯推薦
Ansible是近幾年出現的新的自動化運維工具,可以對機群進行軟件安裝、配置和應用部署,而《Ansible快速入門:技術原理與實戰》是一本Ansible入門書籍,煉了Ansible中的精華,側重於實戰,全書代碼均實測過,是一本不可多得的Ansible入門書。
目錄大綱
第1章Ansible介紹
1.1 Ansible介紹
1.2 Ansible解決了什麼運維痛點
1.3架構
1.3.1 Ansible的架構
1.3.2 Ansible Tower的架構
第2章Ansible入門
2.1安裝Ansible
2.1.1在管理員的電腦上安裝
2.1.2被管理的遠程主機
2.2 Ansible管理哪些主機
2.2.1什麼是主機目錄
2.2.2主機目錄配置文件
2.3 Ansible用命令管理主機
2.3.1 Ansible命令的格式
2.3.2 Ansible命令的功能
2.4 Ansible用腳本管理主機
2.4.1執行腳本Playbook的方法
2.4.2 Playbook的例子
2.4.3 Play和Playbook
2.5 Ansible模塊
2.5.1什麼是Ansible模塊
2.5.2在命令行里使用模塊
2.5.3在Playbook腳本中使用模塊
2.5.4 Ansible模塊的特點
2.5.5常用模塊
第3章Ansible進階
3.1 Ansible的配置
3.1.1可以配置什麼
3.1.2 Ansible配置文件的優先級
3.2主機清單
3.2.1遠程主機的分組
3.2. 2設置連接參數
3.2.3變量
3.3 Ansible的腳本Playbook
3.3.1 Playbook的文件格式YAML
3.3.2執行Playbook的命令
3.3.3 Playbook的基本語法
3.3. 4變量
3.3.5 Playbook也有邏輯控制語句
3.3.6重用Playbook
3.3.7用標籤,實現執行Playbook中的部分任務
3.4更多的Ansible模塊
3.4.1模塊的分類
3.4.2 Extra模塊的使用方法
3.4. 3命令行查看模塊的用法
3.5最佳使用方法
3.5.1寫Playbook的原則
3.5.2參考別人的Playbook
第4章Ansible Playbook雜談
4.1再談Ansible變量
4.1.1變量的作用域
4.1.2變量的優先級
4.2使用lookup訪問外部文件或數據庫中的數據
4.2.1 lookup讀取文件
4.2.2 lookup生成隨機密碼
4.2.3 lookup讀取環境變量
4.2.4 lookup讀取Linux命令的執行結果
4.2.5 lookup讀取template變量替換後的文件
4.2.6 lookup讀取配置文件
4.2.7 lookup讀取CSV文件的指定單元
4.2.8 lookup讀取DNS解析的值
4.2.9更多的lookup功能
4.3過濾器
4.3.1過濾器使用的位置
4.3.2過濾器對普通變量的操作
4.3.3過濾器對文件路徑的操作
4.3.4過濾器對字符串變量的操作
4.3.5過濾器對JSON的操作
4.3.6過濾器對數 結構的操作
4.3.7過濾器的鍊式/連續使用
4.4測試變量或表達式是否符合條件
4.4.1測試字符串
4.4.2比較版本
4.4.3測試List的包含關係
4.4.4測試文件路徑
4.4. 5測試任務的執行結果
4.5認識插件
4.5.1插件類型
4.5.2常用的插件介紹
第5章role和Ansible Galaxy
5.1 role和Ansible Galaxy的簡要介紹
5.1.1 role
5.1.2 Ansible Galaxy
5.2 role的放置位置
5.2.1當前目錄的roles文件夾下
5.2.2環境變量ANSIBLE_ROLES_PATH定義的文件夾
5.2.3 Ansible配置文件中roles_path定義的文件夾
5.2.4默認文件夾/etc/ansible/roles
5.3在Playbook中如何調用role
5.3.1調用最簡單的role
5.3.2通過pre_tasks和post_tasks調整role和任務的順序
5.3.3調用帶有參數的role
5.3.4與when一起使用role
5.4如何寫role
5.4.1 role的完整定義
5.4.2默認變量和普通變量的區別
5.4.3 tasks/main.yml如何使用變量、靜態文件和模板
5.5 role的依賴
5.6 Ansible Galaxy網站介紹
5.6.1從Ansible G alaxy網站上下載role
5.6.2分享你的role
5.7演示role的創建和分享
5.7.1改造單個的Playbook為role
5.7.2在Ansible Galaxy中分享role
第6章Ansible Tower
6.1為什麼要用Ansible Tower
6.1. 1 Ansible和Tower的用戶視角架構圖
6.1.2 Ansible Tower的主要功能
6.2如何使用Ansible Tower
6.2.1安裝方法
6.2.2使用方法
6.2.3總結
6.3與第三方平台的整合
6.3.1 Ansible Tower API
6.3 .2 Ansible Tower提供的命令行工具
附錄A
作者介紹
史晶晶,畢業於吉林大學計算機與科學技術專業,資深軟件工程師,目前在紅帽軟件從事Linux與雲平台的工具開發工作。