-
現代 IT 人一定要知道的 Ansible 自動化組態技巧
-
關於凍仁翔
- 4 年以上 IT 經驗。
- 現職 DrSays IT 工程師。
- Ansible 實戰講堂 4e. 學員。
- 於 Ansible Galaxy 分享 Roles:
- php7 (php-fpm)
- switch-apt-mirror
- vim-and-vi-mode
- zabbix-agent
- CVE-2016-3714
- 坐穩囉
- 要開始了!
- Outline
- 現代 IT 人是什麼?
- 導入自動化組態的好處是什麼?
- Ansible 是什麼?
- 怎麼部署 Ansible 環境?
- 怎麼操作 Ansible?
- Q & A
-
Ⅰ. 現代 IT 人是什麼?
-
Ⅱ. 導入自動化組態的好處是什麼?
- 導入 Ansible 自動化組態,我們除了可以減少服務中斷時間、測試基礎建設、降低意外風險,更可以讓開發、測試和正式環境無縫接軌。
- 導入自動化組態的好處是什麼?
- Ⅲ. Ansible 是什麼?
- Ansible 取名自知名小說《戰爭遊戲》,是一款能跨越時空的即時通訊工具。
- Ansible 是近年來知名度不斷上升的 DevOps 自動化軟體,雖然自 2013 年創立至今不到 3 年,但由於其採用 無代理程式的架構,部署靈活,程式碼易讀,因而迅速成為受矚目的 DevOps 工具。
- 與 Puppet, Salt, Chef 並列其四的自動化組態設定工具 (Infrastructure as Code),其簡單易用的特性讓人一用就愛上,在 DevOps 界也佔有一席之地。
- 使用 Push 架構,只需 Python 和 SSH 即可操作,不用額外裝 Angent。
- Ⅳ. 怎麼部署 Ansible 環境?
- Ansible 是怎麼運作的?
- 透過 inventory 定義 Managed node,並藉由 SSH 與 Python 進行溝通。
- 怎麼安裝 Ansible?
- 只需在 Control Machine 安裝 Ansible;Managed node 則要有 Python 2.5+ 和 SSH。
- 怎麼設定 Ansible?
- 藉由 ansible.cfg 來設定 inventory (host file) 檔案路徑、Managed node (被控端) 使用者名稱、SSH 金鑰 … 等。
- inventory 是什麼?
- 主要用來定義 Managed node (被控端) 主機位址與群組,也可用來設定 ssh 連線資訊。
- Ⅴ. 怎麼操作 Ansible?
- Ad-Hoc command, Playbook* (Module, Galaxy), Ansible Tower
- Ad-Hoc command 是什麼?
- 簡短 (臨時性) 的指令,與一般的 command line 操作模式雷同,一次只透過一行指令進行操作。
- Ansible -m 後的各項參數請參考官方文件 - Module Index。
- Playbooks 是什麼?
- 一鍵部署的強大武器,比 Shell Script 更具結構化的腳本語言。
- 使用 YAML 格式,寫 code 就如同寫文件,簡單易讀。
- 可使用 Jinja2 (template 系統) 表達式,並支援變數、判斷式、迴圈 ... 等語法。
- 一份 Playbook 可以有多個 Play 和 多個 Tasks。此例用到了 Play1, Task3 和 Module*3 (command, apt, lineinfile)。 - 執行 example.yml playbook。
- 火 力 展 示
- Not Live Demo
-
如果還有時間 | 如果沒有時間
-
Module
- 您選擇了 "時間 OK" …
-
Galaxy
-
參考文獻
- Ansible Docs - http://docs.ansible.com/ansible/intro_installation.html
- 《Ansible: Up and Running》- https://www.ansible.com/ansible-book
- 七分鐘掌握 Ansible 核心觀念 (7:15) | Software Architecture School - http://goo.gl/nhykzE
- Ansible 實戰講堂 - http://get.soft-arch.net/ansible/
- 電腦界的隱喻:組態管理 | 軟體架構・絮語 - http://school.soft-arch.net/blog/90699/metaphor-in-cm
- 淺談 Ansible by sakana / Max - https://goo.gl/e9RwhE
- 「Ansible 自動化組態管理實戰講堂」與「自我實現」| 凍仁的筆記 - http://goo.gl/5gs1q9
- 圖片來源
- Blasts Off Space Rocket From Cosmodrom In The Clouds, Polygonal Stock Illustration | dreamstime - http://goo.gl/6FAuiQ
- 國家地理雜誌 - http://www.ngtaiwan.com
- Using cloud-init and uvtool to initialize cloud instances | Rui - https://goo.gl/CbdvTH
- Books icon (PSD) | GraphicsFuel - http://www.graphicsfuel.com/2012/07/books-icon-psd/
- Avatar, business, company, group, manager, people, users icon | Icon search engine - https://goo.gl/Hm6ScX
- A Galaxy Just Appeared Out of Nowhere - http://chirpnews.com/2016/04/17/new-galaxy-appeared/
- 工商服務
-
Q & A
-
The END