介紹兩款自動(dòng)化運(yùn)維工具

如果服務(wù)器的數(shù)量小的話,我們可以直接通過(guò)ssh連接上去,執(zhí)行命令即可.也可以直接寫一個(gè)腳本,通過(guò)ssh自動(dòng)執(zhí)行命令,將服務(wù)器修改成我們想要的狀態(tài).

然而,當(dāng)我們有不只一臺(tái)服務(wù)器時(shí),就不能這么做了.當(dāng)然,你要想這么做,也沒(méi)人攔你,只是麻不麻煩的問(wèn)題.

現(xiàn)在有這么一個(gè)場(chǎng)景,我們想要搭建一個(gè)kubernetes的微型集群,我們先設(shè)置好了一個(gè)master節(jié)點(diǎn),然后讓其他的node都自動(dòng)加入master.而這些node上,需要配置的都差不多.

如果不使用這些自動(dòng)化的運(yùn)維工具,我們就需要開啟多個(gè)terminal,在其中一遍遍的輸入命令,然后驗(yàn)證結(jié)果.這種方式不僅麻煩,還容易出錯(cuò).

But the tools save us!!!

這里我簡(jiǎn)單的介紹我用過(guò)的兩款自動(dòng)化運(yùn)維工具.

第一款是Chef,在我之前的文章中,也介紹過(guò)它.看過(guò)我那些文章的朋友,應(yīng)該都能感覺(jué)到其復(fù)雜性,以及功能的強(qiáng)大性.Chef中有三種節(jié)點(diǎn),一種是我們的Workstation,一種是Chef Server,還有一種是Chef Client.我們需要在Workstation上面,編寫一些代碼,用這些代碼來(lái)描述我們預(yù)期的服務(wù)器的狀態(tài),然后上傳到Chef Server上,然后Chef Client檢測(cè)之后,再在服務(wù)器上執(zhí)行對(duì)應(yīng)的操作,讓服務(wù)器變成你預(yù)期的狀態(tài).每個(gè)服務(wù)器上,都需要安裝一個(gè)Chef Client.

從上面的描述中,我們可以看到,Chef不是基于SSH的,它是服務(wù)器-客戶端模式實(shí)現(xiàn)的.所以,我們要想使用的話,就得搭建一個(gè)Chef服務(wù)器(也可以用Chef官網(wǎng)免費(fèi)提供的),還需要在每一臺(tái)服務(wù)器上,都安裝一個(gè)Chef Client.

Chef的Cookbook,寫起來(lái)也不輕松.其中用到了大量的Ruby語(yǔ)法,如果你懂Ruby還好,不懂的話,很容易蒙圈.反正我是不懂.有點(diǎn)頭大.

雖然Chef有諸多不便,但是,它有一個(gè)最大的好處,就是有很多cookbook,在Chef Market中,別人已經(jīng)寫好了,我們只需要用就好了.所以,搭建一個(gè)Kubernetes集群,我們實(shí)際上需要做的,可能很少.只需要下載下來(lái)這些Cookbook,然后修改一下,再運(yùn)行就好.

另外,Chef還依賴于很多其他的東西.由于很久不用了,我也有點(diǎn)記不清楚具體是依賴于啥了.

第二款是Ansible,也是我現(xiàn)在在搭建這個(gè)微型的Kubernetes集群時(shí),使用的一款工具.當(dāng)初想到要進(jìn)行自動(dòng)化的時(shí)候,我就有點(diǎn)頭大.因?yàn)橹坝肅hef的時(shí)候,感覺(jué)其用起來(lái)特別麻煩.后來(lái)突然想起來(lái)還有Ansible這款工具.之前看別人寫的blog時(shí),看到有人用這款工具,感覺(jué)用起來(lái)特別簡(jiǎn)單.于是就嘗試了一下,果然是特別簡(jiǎn)單,輕松的.

Ansible是使用SSH對(duì)服務(wù)器進(jìn)行操作的.也就是說(shuō),它只需要一個(gè)Workstation就行了,而不需要Chef中的Chef Server和Chef Client.而且它的Playbook是基于yml語(yǔ)法的,寫起來(lái)特別簡(jiǎn)單.

它還可以給服務(wù)器分組,我們可以只給特定組中的服務(wù)器執(zhí)行Playbook,這就讓我們能夠同時(shí)對(duì)服務(wù)器進(jìn)行不同的操作.

Ansible內(nèi)部支持的模塊也挺多,能夠滿足基本的需求.

但是,它沒(méi)有像Chef那樣的Market,所以,我們只有自己重復(fù)造輪子了.

使用的時(shí)候,具體有什么區(qū)別,那就請(qǐng)各位自行嘗試了.

總之,我覺(jué)得,如果Ansible能夠滿足你的需求,就使用Ansible吧.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容