現代 IT 人一定要知道的 Ansible 自動化組態技巧
Ansible 是個與 Puppet, SaltStack, Chef 並駕齊驅的組態設定 (Infrastructure as Code) 工具,其簡單易用的特性讓人愛不釋手,在 DevOps 界更佔有一席之地。
本次凍仁將帶領大家一探 Ansible 這門技藝,並分享些實戰經驗。相信有了 Ansible 我們都可以提早下班了! (笑) 1
若需勘誤,觀迎大家來信 automate-with-ansible (at) drx.tw,(當然您也可以上 GitHub 網站 2 送 Pull Request 或發 issues),讓此書可以更完美。
《現代 IT 人一定要知道的 Ansible 自動化組態技巧》由凍仁翔製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款釋出。
註:此份文件主要使用 2016/09/29 釋出的 Ansible 2.1.2 進行撰寫,部份語法和配置可能與現今有所出入,還請特別留意。
目錄
- 前言
- Ansible 是什麼?
- 怎麼部署 Ansible 環境?
- 怎麼用 Vagrant 練習 Ansible?
- 怎麼用 Docker 練習 Ansible?
- 怎麼操作 Ansible?
- 怎麼用 Jupyter 操控 Ansible?(localhost)
- 怎麼用 Jupyter 操控 Ansible?(Managed node)
- 怎麼用 Docker Compose 練習 Ansible?
- Ansible 的開發工具有哪些?
- 怎麼看 Ansible Modules 文件?
- 常用的 Ansible Module 有哪些?
- 怎麼使用 setup 取得 Managed node 的 facts?
- 怎麼使用 Ansible 的 Template 系統?
- 怎麼在 Playbooks 裡使用 Handlers?
- Ansible 如何發送 notification 到 Slack?
- Ansible 如何發送 notification 到 HipChat?
- 如何在 Playbooks 使用 loops?
- 如何維護大型的 Playbooks?
- Roles 是什麼?
- 怎麼使用 Roles?
- 怎麼用 Roles 部署 LNMP 網頁應用程式?(上)
- 怎麼用 Roles 部署 LNMP 網頁應用程式?(下)
- 怎麼用 Roles 部署 TestLink?
- 怎麼在 Ansible Galaxy 分享 Roles?(上)
- 怎麼在 Ansible Galaxy 分享 Roles?(下)
- 怎麼用 Travis CI 測試 Roles?
- 怎麼混用 Ansible 建置 Docker image?
- 怎麼在 Docker Hub 混用 Ansible 自動建置 Docker image?
- 怎麼用 Vault 管理敏感資料?
- 總結
誌謝
首先,最感謝的是我的妻子儀萍,除了繪製本書封面,在參賽期間還給予了不少支持和照料,要不是有她的督促和校稿凍仁是完成不了本書的。
謝謝從小在背後默默支持我的雙親陳玉鐘女士和賴松村先生,讓凍仁可以自由的發揮所長,走自己的路。
謝謝我的前主管羅春長 (Shortie) 先生,在 IT 這條漫漫長路上,總是在凍仁遇到難題時指點迷津,並在剛就職時就規劃了往後所需的工作技能,還放手讓凍仁在公司導入 Ansible、Docker 等新技術。
謝謝引領凍仁進入 Ansible 世界的黃俊宏 (sakanamax) 和葉秉哲 (William Yeh) 前輩,讓凍仁了解到導入組態工具後的世界有多美好。
最後還要謝謝 Ansible 台灣使用者社群 (Ansible Taiwan User Group) 和曾幫助過凍仁的各位伙伴,要不是有他們就沒有昔日的凍仁。
1. 此為八屆 iT 鐵人賽 DevOps 組參選作品之一,報名時間為 2016/11/18 02:02:56,並於 2017/02/20 獲選 DevOps 組冠軍,其文章將同步發佈於 GitBook 和 iT 邦幫忙,並授權 W3Cschool.cn 轉載至 Ansible 自动化运维教程。 ↩
2. 本書的 GitHub 網址為 https://github.com/chusiang/automate-with-ansible。 ↩