第 1章 Ansible介紹 1
1.1 Ansible介紹 2
1.2 Ansible解決瞭什麼運維痛點 2
1.3 架構 2
1.3.1 Ansible的架構 2
1.3.2 Ansible Tower的架構 4
第 2章 Ansible入門 6
2.1 安裝 Ansible7
2.1.1 在管理員的電腦上安裝 7
2.1.2 被管理的遠程主機 7
2.2 Ansible管理哪些主機 8
2.2.1 什麼是主機目錄 8
2.2.2 主機目錄配置文件 8
2.3 Ansible用命令管理主機 9
2.3.1 Ansible命令的格式 9
2.3.2 Ansible命令的功能 9
2.4 Ansible用腳本管理主機 10
2.4.1 執行腳本 Playbook的方法 11
2.4.2 Playbook的例子 11
2.4.3 Play和 Playbook 13
2.5 Ansible模塊 14
2.5.1 什麼是 Ansible模塊 14
2.5.2 在命令行裏使用模塊 15
2.5.3 在 Playbook腳本中使用模塊 15
2.5.4 Ansible模塊的特點. 15
2.5.5 常用模塊 16
第 3章 Ansible進階30
3.1 Ansible的配置 31
3.1.1 可以配置什麼 31
3.1.2 Ansible配置文件的優先級 31
3.2 主機清單 32
3.2.1 遠程主機的分組 33
3.2.2 設置連接參數 34
3.2.3 變量 34
3.3 Ansible的腳本 Playbook. 36
3.3.1 Playbook的文件格式 YAML. 36
3.3.2 執行 Playbook的命令 37
3.3.3 Playbook的基本語法 38
3.3.4 變量 45
3.3.5 Playbook也有邏輯控製語句 53
3.3.6 重用 Playbook. 58
3.3.7 用標簽,實現執行 Playbook中的部分任務 66
3.4 更多的 Ansible模塊 69
3.4.1 模塊的分類 69
3.4.2 Extra模塊的使用方法 70
3.4.3 命令行查看模塊的用法 71
3.5 昀佳使用方法 71
3.5.1 寫 Playbook的原則. 71
3.5.2 參考彆人的 Playbook. 72
第 4章 Ansible Playbook雜談 73
4.1 再談 Ansible變量 74
4.1.1 變量的作用域 74
4.1.2 變量的優先級 74
4.2 使用 lookup訪問外部文件或數據庫中的數據 80
4.2.1 lookup讀取文件 81
4.2.2 lookup生成隨機密碼 81
4.2.3 lookup讀取環境變量 82
4.2.4 lookup讀取 Linux命令的執行結果 83
4.2.5 lookup讀取 template變量替換後的文件 83
4.2.6 lookup讀取配置文件 84
4.2.7 lookup讀取 CSV文件的指定單元 86
4.2.8 lookup讀取 DNS解析的值 87
4.2.9 更多的 lookup功能 91
4.3 過濾器 91
4.3.1 過濾器使用的位置 91
4.3.2 過濾器對普通變量的操作 92
4.3.3 過濾器對文件路徑的操作 96
4.3.4 過濾器對字符串變量的操作 99
4.3.5 過濾器對 JSON的操作 106
4.3.6 過濾器對數據結構的操作 109
4.3.7 過濾器的鏈式 /連續使用111
4.4 測試變量或錶達式是否符閤條件 111
4.4.1 測試字符串 112
4.4.2 比較版本 113
4.4.3 測試 List的包含關係 113
4.4.4 測試文件路徑 114
4.4.5 測試任務的執行結果 115
4.5 認識插件 117
4.5.1 插件類型 118
4.5.2 常用的插件介紹 119
第 5章 role和 Ansible Galaxy123
5.1 role和 Ansible Galaxy的簡要介紹 124
5.1.1 role 124
5.1.2 Ansible Galaxy. 124
5.2 role的放置位置 124
5.2.1 當前目錄的 roles文件夾下 124
5.2.2 環境變量 ANSIBLE_ROLES_PATH定義的文件夾 125
5.2.3 Ansible配置文件中 roles_path定義的文件夾 125
5.2.4 默認文件夾 /etc/ansible/roles 125
5.3 在 Playbook中如何調用 role. 126
5.3.1 調用昀簡單的 role. 126
5.3.2 通過 pre_tasks和 post_tasks調整 role和任務的順序 127
5.3.3 調用帶有參數的 role 129
5.3.4 與 when一起使用 role 129
5.4 如何寫 role 130
5.4.1 role的完整定義 130
5.4.2 默認變量和普通變量的區彆 131
5.4.3 tasks/main.yml如何使用變量、靜態文件和模闆 132
5.5 role的依賴 134
5.6 Ansible Galaxy網站介紹 136
5.6.1 從 Ansible Galaxy網站上下載 role 136
5.6.2 分享你的 role 139
5.7 演示 role的創建和分享 139
5.7.1 改造單個的 Playbook為 role 141
5.7.2 在 Ansible Galaxy中分享 role 144
第 6章 Ansible Tower145
6.1 為什麼要用 Ansible Tower 146
6.1.1 Ansible和 Tower的用戶視角架構圖 146
6.1.2 Ansible Tower的主要功能 147
6.2 如何使用 Ansible Tower 149
6.2.1 安裝方法 149
6.2.2 使用方法 152
6.2.3 總結 161
6.3 與第三方平颱的整閤 163
6.3.1 Ansible Tower API 163
6.3.2 Ansible Tower提供的命令行工具 164
附錄 A 166
· · · · · · (
收起)