這5個Ansible 模組你喜歡嗎
在我成長的時候,我爺爺在他的花園裡有一個棚子。他經常會花幾個小時在那裡製作和修復東西。這是在我們有網際網路之前的事情,所以我花了很多時間看他在那個棚子裡創造東西。雖然棚子裡有很多工具,從鑽頭到車床到電器配件,還有很多東西我至今都無法辨認,但他使用的只是他手頭的一小部分。然而,他能做到的事情似乎永遠沒有極限。 |
我之所以告訴你這個故事,是因為我覺得我的職業生涯是在一個隱喻的棚子裡度過的。計算機也是如此多的工具,都在一個狹小(虛擬?)的空間裡。而工具棚中又有工具棚 —— 我最喜歡的是 Ansible。最近的 2.9 版本有 3,681 個模組! **3,681 個啊!**當我在 2013 年夏天第一次開始使用 Ansible 時,1.2.1 版本只有 113 個模組,然而,正如我當時寫的,我仍然可以實現任何我想象到的東西。
模組是 Ansible 的支柱,是讓重任輕裝上陣的齒輪。它們被設計為做好一項工作,從而實現了 Unix 哲學。我們就是這樣來把這麼多的模組捆綁在一起,作為樂團的指揮,Ansible 現在有很多樂器可以聽從它的指揮。
回顧一下我多年來的 Ansible 劇本和角色的 Git 倉庫,我發現我只用了 35 個模組。這個小的子集被用來構建大型基礎設施。不過,我想知道如果用一個更小的子集可以實現什麼?當我回顧這 35 個模組時,我在思考,我能否只用 5 個模組就能達到同樣的效果。因此,以下是我最喜歡的五個模組,順序無關。
SSH 是 Ansible 的核心,至少對於除了 Windows 以外的幾乎所有其他功能都是如此。在 Ansible 中高效使用 SSH 的關鍵(沒有雙關語)是……金鑰!順便提一下,你可以用 SSH 金鑰為安全性做很多非常酷的事情。值得仔細閱讀 sshd 手冊頁中的 “authorized_keys” 部分。如果你需要精細的使用者訪問控制,管理 SSH 金鑰可能會變得很費力,儘管我可以用接下來的兩個我最愛的模組中的任何一個,但我更喜歡使用 authorized_key 這個模組,因為它可以透過變數輕鬆管理。
除了顯而易見的將檔案放置在某個地方的功能外,file 模組還可以設定所有權和許可權。我想說的是,這樣一個模組就能帶來很多的好處。很大一部分安全問題也與設定許可權有關,所以 file 模組和 authorized_key 可以很好地配合在一起使用。
操作檔案內容的方法太多了,我看到很多人都在使用 lineinfile。我自己也用它做過小任務。但是,template 模組就清晰多了,因為你維護了整個檔案的上下文。我更喜歡以任何人都可以輕鬆理解的方式編寫 Ansible 的內容 —— 對我而言,這意味著容易理解正在發生的事情。template 的使用意味著能夠看到你正在放置內容的整個檔案、全部你正在改變的變數。
當前釋出版中的許多模組利用 Ansible 作為編排工具。它們與另一個服務對話,而不是做一些具體的事情,比如把一個檔案放到一個地方。通常,這種對話也是透過 HTTP 進行的。在許多這樣的模組出現之前,你可以直接使用 uri 模組對 API 進行程式設計。它是一個強大的訪問工具,可以使你能夠做很多事情。在我的 Ansible 虛擬棚子裡,我不會少了它。
這是我們工具包裡的王牌、瑞士軍 刀。如果你為如何控制其他東西而非常苦惱,別說,說就是 shell。有人會說,我們這樣說是讓 Ansible 成為了 Bash —— 但是,我想說的是,這還是有點好處的,因為可以在你的劇本和角色中使用 name 引數記錄下每一步。對我來說,這就像一個很大的獎勵一樣。早在我還在做諮詢的時候,我曾經幫助一個資料庫管理員(DBA)遷移到 Ansible。這位 DBA 並不喜歡改變,對改變工作方法也是推三阻四。於是,為了簡化遷移到 Ansible 方式,我們在 Ansible 中使用 shell 模組呼叫了一些現有的資料庫管理 。並在任務中附帶了翔實的 name 宣告。
透過這五個模組,你可以實現很多事情。是的,為完成特定任務而設計的模組會讓你的生活更加輕鬆。但是,藉助簡單的工程設計,你幾乎可以事半功倍。Ansible 開發者 Brian Coca 是這方面的大師,他的 總是值得一看。
你覺得這五大模組怎麼樣?如果你也必須限制在這麼多模組,你會選擇哪五個,為什麼?在下面的評論中告訴我吧!
via:
作者:Mark Phillips 選題:lujun9972 譯者:wxy 校對:wxy
本文由 LCTT 原創編譯, 中國 榮譽推出
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2700041/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 5個Python整合開發環境,哪個你更喜歡?Python開發環境
- Ansible——模組
- ansible模組
- ansible常用模組
- ansible基礎-模組
- ansible自定義模組
- 你最喜歡哪個 Linux 發行版?Linux
- kolla-ansible-----rally模組
- 阿里雲Ansible 模組文件阿里
- discuQ 這個蛋為什麼沒有人喜歡?
- 這裡有8個流行的Python視覺化工具包,你喜歡哪個?Python視覺化
- 你喜歡大海我愛過你什麼梗 你喜歡大海我愛過你出處
- 學程式設計能做什麼工作?這5種高大上的工作你喜歡麼程式設計
- 別問了,我真的不喜歡這個註解!
- 20個首頁流行佈局樣式,你喜歡哪個?
- HTML+CSS+JS實現----小姐姐你喜歡我嗎的程式HTMLCSSJS
- 二、Ansible基礎之模組篇
- 8 個流行的 Python 視覺化工具包,你喜歡哪個?Python視覺化
- 老外最不喜歡的開發信型別,你中了幾個?型別
- 你知道開發人員最喜歡的Chrome擴充套件有哪些嗎?Chrome套件
- 你是你喜歡的那種領導嗎?(2月讀書筆記《領袖們》)筆記
- 從GitHub中整理出來的15個最受歡迎的Python開源框架,你喜歡哪個GithubPython框架
- 論文也撞衫,你更喜歡哪個無錨點CenterNet?
- Linux常見的6款網路工具,你喜歡哪一個?Linux
- 滲透測試必知的工具合集,你喜歡哪一個?
- platform 模組 你真的瞭解你的計算機嗎?Platform計算機
- 大咖開講 | HMS Core 6.0大盤點,你喜歡的玩法都在這!
- 開放通用Api,總有你喜歡的API
- 你最喜歡的潤唇膏是什麼?
- ?喜歡 Heroicons?這裡有一個優秀的 Heroicons for ❤️Vue.js 元件!Vue.js元件
- 你真的懂模組化嗎?教你CommonJS實現JS
- node ( 5 ) -----process詳解(這個標題不討喜……)
- 咋就這麼不喜歡手寫路由呢路由
- 抖音批量取消喜歡,批量取消抖音喜歡
- 喜歡繪畫嗎?Mac上的工具分享來了Mac
- 讓員工喜歡上CRM軟體很難嗎
- 偷偷告訴你,HR更喜歡這樣的專案經理的簡歷!
- 喜歡賭球的你,可能被AI盯上了AI