新聞中心
在我成長的時(shí)候,我爺爺在他的花園里有一個(gè)棚子。他經(jīng)常會(huì)花幾個(gè)小時(shí)在那里制作和修復(fù)東西。這是在我們有互聯(lián)網(wǎng)之前的事情,所以我花了很多時(shí)間看他在那個(gè)棚子里創(chuàng)造東西。雖然棚子里有很多工具,從鉆頭到車床到電器配件,還有很多東西我至今都無法辨認(rèn),但他使用的只是他手頭的一小部分。然而,他能做到的事情似乎永遠(yuǎn)沒有極限。

創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站制作、成都網(wǎng)站制作與策劃設(shè)計(jì),那坡網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:那坡等地區(qū)。那坡做網(wǎng)站價(jià)格咨詢:18982081108
我之所以告訴你這個(gè)故事,是因?yàn)槲矣X得我的職業(yè)生涯是在一個(gè)隱喻的棚子里度過的。計(jì)算機(jī)也是如此多的工具,都在一個(gè)狹?。ㄌ摂M?)的空間里。而工具棚中又有工具棚 —— 我最喜歡的是 Ansible。最近的 2.9 版本有 3,681 個(gè)模塊! 3,681 個(gè)??!當(dāng)我在 2013 年夏天第一次開始使用 Ansible 時(shí),1.2.1 版本只有 113 個(gè)模塊,然而,正如我當(dāng)時(shí)寫的,我仍然可以實(shí)現(xiàn)任何我想象到的東西。
模塊是 Ansible 的支柱,是讓重任輕裝上陣的齒輪。它們被設(shè)計(jì)為做好一項(xiàng)工作,從而實(shí)現(xiàn)了 Unix 哲學(xué)。我們就是這樣來把這么多的模塊捆綁在一起,作為樂團(tuán)的指揮,Ansible 現(xiàn)在有很多樂器可以聽從它的指揮。
回顧一下我多年來的 Ansible 劇本和角色的 Git 倉庫,我發(fā)現(xiàn)我只用了 35 個(gè)模塊。這個(gè)小的子集被用來構(gòu)建大型基礎(chǔ)設(shè)施。不過,我想知道如果用一個(gè)更小的子集可以實(shí)現(xiàn)什么?當(dāng)我回顧這 35 個(gè)模塊時(shí),我在思考,我能否只用 5 個(gè)模塊就能達(dá)到同樣的效果。因此,以下是我最喜歡的五個(gè)模塊,順序無關(guān)。
這5個(gè)Ansible 模塊你喜歡嗎這5個(gè)Ansible 模塊你喜歡嗎
authorized_key
SSH 是 Ansible 的核心,至少對(duì)于除了 Windows 以外的幾乎所有其他功能都是如此。在 Ansible 中高效使用 SSH 的關(guān)鍵(沒有雙關(guān)語)是……密鑰!順便提一下,你可以用 SSH 密鑰為安全性做很多非常酷的事情。值得仔細(xì)閱讀 sshd 手冊(cè)頁中的 “authorized_keys” 部分。如果你需要精細(xì)的用戶訪問控制,管理 SSH 密鑰可能會(huì)變得很費(fèi)力,盡管我可以用接下來的兩個(gè)我最愛的模塊中的任何一個(gè),但我更喜歡使用 authorized_key 這個(gè)模塊,因?yàn)樗梢酝ㄟ^變量輕松管理。
file
除了顯而易見的將文件放置在某個(gè)地方的功能外,file 模塊還可以設(shè)置所有權(quán)和權(quán)限。我想說的是,這樣一個(gè)模塊就能帶來很多的好處。很大一部分安全問題也與設(shè)置權(quán)限有關(guān),所以 file 模塊和 authorized_key 可以很好地配合在一起使用。
template
操作文件內(nèi)容的方法太多了,我看到很多人都在使用 lineinfile。我自己也用它做過小任務(wù)。但是,template 模塊就清晰多了,因?yàn)槟憔S護(hù)了整個(gè)文件的上下文。我更喜歡以任何人都可以輕松理解的方式編寫 Ansible 的內(nèi)容 —— 對(duì)我而言,這意味著容易理解正在發(fā)生的事情。template 的使用意味著能夠看到你正在放置內(nèi)容的整個(gè)文件、全部你正在改變的變量。
uri
當(dāng)前發(fā)布版中的許多模塊利用 Ansible 作為編排工具。它們與另一個(gè)服務(wù)對(duì)話,而不是做一些具體的事情,比如把一個(gè)文件放到一個(gè)地方。通常,這種對(duì)話也是通過 HTTP 進(jìn)行的。在許多這樣的模塊出現(xiàn)之前,你可以直接使用 uri 模塊對(duì) API 進(jìn)行編程。它是一個(gè)強(qiáng)大的訪問工具,可以使你能夠做很多事情。在我的 Ansible 虛擬棚子里,我不會(huì)少了它。
shell
這是我們工具包里的王牌、瑞士軍刀。如果你為如何控制其他東西而非常苦惱,別說,說就是 shell。有人會(huì)說,我們這樣說是讓 Ansible 成為了 Bash 腳本 —— 但是,我想說的是,這還是有點(diǎn)好處的,因?yàn)榭梢栽谀愕膭”竞徒巧惺褂?name 參數(shù)記錄下每一步。對(duì)我來說,這就像一個(gè)很大的獎(jiǎng)勵(lì)一樣。早在我還在做咨詢的時(shí)候,我曾經(jīng)幫助一個(gè)數(shù)據(jù)庫管理員(DBA)遷移到 Ansible。這位 DBA 并不喜歡改變,對(duì)改變工作方法也是推三阻四。于是,為了簡(jiǎn)化遷移到 Ansible 方式,我們?cè)?Ansible 中使用 shell 模塊調(diào)用了一些現(xiàn)有的數(shù)據(jù)庫管理腳本。并在任務(wù)中附帶了翔實(shí)的 name 聲明。
通過這五個(gè)模塊,你可以實(shí)現(xiàn)很多事情。是的,為完成特定任務(wù)而設(shè)計(jì)的模塊會(huì)讓你的生活更加輕松。但是,借助簡(jiǎn)單的工程設(shè)計(jì),你幾乎可以事半功倍。Ansible 開發(fā)者 Brian Coca 是這方面的大師,他的技巧和竅門講座總是值得一看。
你覺得這五大模塊怎么樣?如果你也必須限制在這么多模塊,你會(huì)選擇哪五個(gè),為什么?在下面的評(píng)論中告訴我吧!
分享標(biāo)題:Ansible中深受喜愛的5個(gè)模塊
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/dhcecjp.html


咨詢
建站咨詢
