Roles 是什麼?
Last updated
Last updated
在上一章「19. 如何維護大型的 Ansible Playbooks?」凍仁提到 Roles 很重要、很好用!這章凍仁就來介紹可讓我們加速升空的火箭 (Rocket) 吧!
《Ansible: Up and Running》 一書的第 8 章標題為「Roles: Scaling Up Your Playbooks」,開門見山的說明了我們可以透用 Roles 來擴充 Playbooks。
如果要用一句話來解釋 Roles,那凍仁會這麼說:
「Roles 可以降低 Playbooks 的複雜性,更可以增加 Playbooks 的可用性。」
Roles 就字面上來說有角色、作用的意思,但它的全名其實是 Playbooks Roles,我們可把它當成是 Playbooks 的延伸使用。
在前一章裡,我們雖已把重複的 Tasks 獨立出來,但光只有這樣是無法分享給其它專案 (Project) 使用的。在 Python 的世界裡,我們會把寫好的程式封裝成套件 (Packages) 並分享給他人使用,而在 Ansible 的世界裡,我們會用 Roles 來形容這個偉大的行為。
早在「06. 怎麼操作 Ansible?」一章講解 Playbooks 時,就已出現過 Roles 的蹤影了。
「寶寶身上有 Roles 只是寶寶不說。」
比對一下 Roles 和 Playbooks 的目錄結構,可以看到前者多了 roles/
目錄和 chusiang.win_vim
的 role。
接下來凍仁將藉由這個簡單的 example_role
來介紹 Role 的檔案架構。
關於 Roles 的基本介紹就到這裡,下一章凍仁將介紹怎麼使用 Roles?
到目前為止,不知大家是否跟上凍仁的腳步了呢?如果有問題,可以在下方留言,凍仁會抽空回答的。
《Ansible: Up and Running》的章節、目錄資訊可於 Safari Books online (https://www.safaribooksonline.com/library/view/ansible-up-and/9781491915318/) 取得。
Safari Books Online - https://goo.gl/dxoGSb
圖片來源:http://goo.gl/GKJvXn